diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java new file mode 100644 index 0000000..e196dda --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Builder; +import lombok.Data; + +/** + * @author cz + */ +@Data +@Builder +public class NotifyEventStatusDTO { + + /** + * 业务表主键 + */ + private String id; + /** + * 业务表状态 + */ + private String status; + + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java new file mode 100644 index 0000000..e196dda --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Builder; +import lombok.Data; + +/** + * @author cz + */ +@Data +@Builder +public class NotifyEventStatusDTO { + + /** + * 业务表主键 + */ + private String id; + /** + * 业务表状态 + */ + private String status; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java index 65c19e3..0f3e84f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java @@ -74,7 +74,7 @@ /** * 部门/科室/工程组名称 */ - @ExcelProperty("组织编号") + @ExcelProperty("组织名称") @ApiModelProperty(value = "计量组织名称", dataType = "String", required = true) @NotBlank(message = "计量组织名称不能为空") @TableField("organize_name") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java new file mode 100644 index 0000000..e196dda --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Builder; +import lombok.Data; + +/** + * @author cz + */ +@Data +@Builder +public class NotifyEventStatusDTO { + + /** + * 业务表主键 + */ + private String id; + /** + * 业务表状态 + */ + private String status; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java index 65c19e3..0f3e84f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java @@ -74,7 +74,7 @@ /** * 部门/科室/工程组名称 */ - @ExcelProperty("组织编号") + @ExcelProperty("组织名称") @ApiModelProperty(value = "计量组织名称", dataType = "String", required = true) @NotBlank(message = "计量组织名称不能为空") @TableField("organize_name") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java index 54dc5cd..244e431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java @@ -84,7 +84,7 @@ * 签名用户id(一个用户一个签名,签名不使用关联表,签章暂时使用和使用人的关联表) */ @TableField("sign_user_id") - private String signUserId; + private Long signUserId; /** * 签章或签名-字典code diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java new file mode 100644 index 0000000..e196dda --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Builder; +import lombok.Data; + +/** + * @author cz + */ +@Data +@Builder +public class NotifyEventStatusDTO { + + /** + * 业务表主键 + */ + private String id; + /** + * 业务表状态 + */ + private String status; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java index 65c19e3..0f3e84f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java @@ -74,7 +74,7 @@ /** * 部门/科室/工程组名称 */ - @ExcelProperty("组织编号") + @ExcelProperty("组织名称") @ApiModelProperty(value = "计量组织名称", dataType = "String", required = true) @NotBlank(message = "计量组织名称不能为空") @TableField("organize_name") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java index 54dc5cd..244e431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java @@ -84,7 +84,7 @@ * 签名用户id(一个用户一个签名,签名不使用关联表,签章暂时使用和使用人的关联表) */ @TableField("sign_user_id") - private String signUserId; + private Long signUserId; /** * 签章或签名-字典code diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java index ca20ca4..0e94b9e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java new file mode 100644 index 0000000..e196dda --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Builder; +import lombok.Data; + +/** + * @author cz + */ +@Data +@Builder +public class NotifyEventStatusDTO { + + /** + * 业务表主键 + */ + private String id; + /** + * 业务表状态 + */ + private String status; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java index 65c19e3..0f3e84f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java @@ -74,7 +74,7 @@ /** * 部门/科室/工程组名称 */ - @ExcelProperty("组织编号") + @ExcelProperty("组织名称") @ApiModelProperty(value = "计量组织名称", dataType = "String", required = true) @NotBlank(message = "计量组织名称不能为空") @TableField("organize_name") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java index 54dc5cd..244e431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java @@ -84,7 +84,7 @@ * 签名用户id(一个用户一个签名,签名不使用关联表,签章暂时使用和使用人的关联表) */ @TableField("sign_user_id") - private String signUserId; + private Long signUserId; /** * 签章或签名-字典code diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java index ca20ca4..0e94b9e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 2f97cb3..fdc4bf0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -3,7 +3,6 @@ import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -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; @@ -17,9 +16,10 @@ import com.casic.missiles.dto.flowable.ApprovalAgreeRequest; import com.casic.missiles.dto.flowable.ApprovalRefuseRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -42,10 +42,9 @@ */ @Service @AllArgsConstructor -public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { +public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService, CertificatePrintStatusEnum { private final IBaseApprovalService baseApprovalService; - private final AbstractDictService dictService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; @@ -86,7 +85,7 @@ } /** - * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 * * @return */ @@ -103,7 +102,7 @@ BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); //设置为不能打印 - certificateReport.setPrintStatus("2"); + certificateReport.setPrintStatus(NON_PRINTABLE); certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { @@ -113,7 +112,7 @@ } /** - * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 */ @Transactional @Override @@ -128,7 +127,7 @@ //审批状态为审批中 certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //打印状态审批中 - certificateReport.setPrintStatus("3"); + certificateReport.setPrintStatus(IN_APPROVAL); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -142,7 +141,7 @@ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)&&CollectionUtils.isEmpty(request.getIds())) { - handlerBeApproved(approvalList, page, request); + approvalList=handlerBeApproved(approvalList, page, request); }else { approvalList=this.baseMapper.selectBatchForApprovalList(page, request, null); } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java new file mode 100644 index 0000000..e196dda --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Builder; +import lombok.Data; + +/** + * @author cz + */ +@Data +@Builder +public class NotifyEventStatusDTO { + + /** + * 业务表主键 + */ + private String id; + /** + * 业务表状态 + */ + private String status; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java index 65c19e3..0f3e84f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java @@ -74,7 +74,7 @@ /** * 部门/科室/工程组名称 */ - @ExcelProperty("组织编号") + @ExcelProperty("组织名称") @ApiModelProperty(value = "计量组织名称", dataType = "String", required = true) @NotBlank(message = "计量组织名称不能为空") @TableField("organize_name") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java index 54dc5cd..244e431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java @@ -84,7 +84,7 @@ * 签名用户id(一个用户一个签名,签名不使用关联表,签章暂时使用和使用人的关联表) */ @TableField("sign_user_id") - private String signUserId; + private Long signUserId; /** * 签章或签名-字典code diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java index ca20ca4..0e94b9e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 2f97cb3..fdc4bf0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -3,7 +3,6 @@ import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -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; @@ -17,9 +16,10 @@ import com.casic.missiles.dto.flowable.ApprovalAgreeRequest; import com.casic.missiles.dto.flowable.ApprovalRefuseRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -42,10 +42,9 @@ */ @Service @AllArgsConstructor -public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { +public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService, CertificatePrintStatusEnum { private final IBaseApprovalService baseApprovalService; - private final AbstractDictService dictService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; @@ -86,7 +85,7 @@ } /** - * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 * * @return */ @@ -103,7 +102,7 @@ BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); //设置为不能打印 - certificateReport.setPrintStatus("2"); + certificateReport.setPrintStatus(NON_PRINTABLE); certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { @@ -113,7 +112,7 @@ } /** - * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 */ @Transactional @Override @@ -128,7 +127,7 @@ //审批状态为审批中 certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //打印状态审批中 - certificateReport.setPrintStatus("3"); + certificateReport.setPrintStatus(IN_APPROVAL); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -142,7 +141,7 @@ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)&&CollectionUtils.isEmpty(request.getIds())) { - handlerBeApproved(approvalList, page, request); + approvalList=handlerBeApproved(approvalList, page, request); }else { approvalList=this.baseMapper.selectBatchForApprovalList(page, request, null); } 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 d03ab22..164c53a 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,17 +7,22 @@ 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.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; -import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +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.MonitorCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -26,9 +31,9 @@ import com.casic.missiles.service.business.IBusinessCertificateReportService; import com.casic.missiles.service.business.IBusinessOriginalRecordService; import com.casic.missiles.service.flowable.ApprovalOperateService; -import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; +import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.runtime.ProcessInstance; @@ -68,8 +73,10 @@ private RuntimeService runtimeService; @Resource private IBaseExportService iBaseExportService; + /** * 保存证书报告信息 + * * @param certificateReport * @return */ @@ -77,7 +84,7 @@ public ReturnDTO saveCertificateReport(BusinessCertificateReport certificateReport) { initCertificateReport(certificateReport); - if(this.baseMapper.insert(certificateReport)>0) + if (this.baseMapper.insert(certificateReport) > 0) return ReturnUtil.success(); throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -90,9 +97,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //删除数据库记录 - if(this.baseMapper.deleteById(request.getId()) > 0){ + if (this.baseMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -101,7 +108,7 @@ @Override public ReturnDTO draftUpdate(BusinessCertificateReport certificateReport) { - if(this.baseMapper.updateById(certificateReport)>0){ + if (this.baseMapper.updateById(certificateReport) > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -109,25 +116,27 @@ /** * 批量删除 + * * @param ids * @return */ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - return baseMapper.deleteBatchIds(ids) > 0?ReturnUtil.success(): + return baseMapper.deleteBatchIds(ids) > 0 ? ReturnUtil.success() : ReturnUtil.failed("删除失败"); } /** * 证书报告详情 + * * @param id * @return */ @Override public BusinessCertificateReport certificateReportDetail(Long id) { BusinessCertificateReport certificateReport = this.baseMapper.selectById(id); - if(certificateReport.getOriginalRecordId()!=null){ + if (certificateReport.getOriginalRecordId() != null) { try { certificateReport.setBusinessOriginalRecord(originalRecordService.originalDetail(certificateReport.getOriginalRecordId())); } catch (Exception e) { @@ -139,6 +148,7 @@ /** * 提交证书报告 + * * @param request * @return */ @@ -148,10 +158,10 @@ String formId = request.getFormId(); //2.根据流程定义id启动流程实例 ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); certificateReport.setApprovalStatus(ApprovalStatusEnum.UN_DRAFT); //非草稿状态 @@ -165,6 +175,7 @@ /** * 审批状态列表查询 + * * @param page * @param request * @return @@ -182,6 +193,7 @@ /** * 驳回后更新 + * * @param certificateReport * @return */ @@ -208,13 +220,14 @@ @Override public void originExport(CertificateReportApprovalRequest request, HttpServletResponse response) { try { - //toDo: -// List certificateReportResponses = this.certificateReport(request); -// for (OriginRecordResponse originRecordResponse : originExportList) { -// //字典值转换 -// DictCodeUtils.convertDictCodeToName(originRecordResponse); -// } -// iBaseExportService.exportExcel(response, CertificateReportResponse.class, originExportList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); + //登录用户 + AuthUser user = ShiroKit.getUser(); + Assert.isFalse(Objects.isNull(user), () -> { + throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); + }); + request.setCreateUserId(user.getId()); + List reportResponseList = handleApprovalStatus(null, request); + iBaseExportService.exportExcel(response, CertificateReportResponse.class, reportResponseList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); } catch (Exception e) { log.error("证书报告导出出现异常,异常信息为{}", e); } @@ -231,15 +244,15 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -251,27 +264,27 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ - approvalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); + if (!CollectionUtils.isEmpty(businessKeys)) { + approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ - rejectApprovalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { + rejectApprovalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -279,7 +292,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.CANCELED); } break; @@ -288,10 +301,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleAllApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), AllApproveList); } break; @@ -299,9 +312,26 @@ return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List allApproveList) { - Map taskMap = new HashMap<>(); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + /** + * 客户、样品详情列表 + */ + @Override + public Page certificateRecordsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception { + Page page = PageFactory.defaultPage(); + Page certificateResponsePage = this.baseMapper.certificateRecordsById(page, customerSampleIdRequest); + for (CertificationResponse customerSampleListResponse : certificateResponsePage.getRecords()) { + if (!StringUtils.isEmpty(customerSampleListResponse.getCertificationClass())) { + DictCodeUtils.convertDictMultiCodeToName(customerSampleListResponse); + } + } + return certificateResponsePage; + } + + private List handleAllApprovalListResponse(List approvalList, List allApproveList) { + Map taskMap = new HashMap<>(); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -313,7 +343,7 @@ return approvalList.stream().sorted(Comparator.comparing(CertificateReportResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, String status){ + private List handleApprovalListResponse(List approvalList, String status) { approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); @@ -324,14 +354,14 @@ private void initCertificateReport(BusinessCertificateReport certificateReport) { String prefix = MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue() - +DateUtil.format(new Date(),"YYYYMM"); + + DateUtil.format(new Date(), "YYYYMM"); Long maxNo = this.baseMapper.selectMaxCode(prefix); //生成证书编号 - String certificateReportNo =NumberGeneratorUtil.getCode( - MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(),maxNo); + String certificateReportNo = NumberGeneratorUtil.getCode( + MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(), maxNo); AuthUser authUser = ShiroKit.getUser(); certificateReport.setCreateUser(authUser.getId()); - certificateReport.setMeasurePersonId(authUser.getId()+""); + certificateReport.setMeasurePersonId(authUser.getId() + ""); certificateReport.setMeasureDeptId(authUser.getDeptId()); certificateReport.setCertificateReportCode(certificateReportNo); } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java new file mode 100644 index 0000000..e196dda --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Builder; +import lombok.Data; + +/** + * @author cz + */ +@Data +@Builder +public class NotifyEventStatusDTO { + + /** + * 业务表主键 + */ + private String id; + /** + * 业务表状态 + */ + private String status; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java index 65c19e3..0f3e84f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java @@ -74,7 +74,7 @@ /** * 部门/科室/工程组名称 */ - @ExcelProperty("组织编号") + @ExcelProperty("组织名称") @ApiModelProperty(value = "计量组织名称", dataType = "String", required = true) @NotBlank(message = "计量组织名称不能为空") @TableField("organize_name") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java index 54dc5cd..244e431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java @@ -84,7 +84,7 @@ * 签名用户id(一个用户一个签名,签名不使用关联表,签章暂时使用和使用人的关联表) */ @TableField("sign_user_id") - private String signUserId; + private Long signUserId; /** * 签章或签名-字典code diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java index ca20ca4..0e94b9e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 2f97cb3..fdc4bf0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -3,7 +3,6 @@ import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -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; @@ -17,9 +16,10 @@ import com.casic.missiles.dto.flowable.ApprovalAgreeRequest; import com.casic.missiles.dto.flowable.ApprovalRefuseRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -42,10 +42,9 @@ */ @Service @AllArgsConstructor -public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { +public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService, CertificatePrintStatusEnum { private final IBaseApprovalService baseApprovalService; - private final AbstractDictService dictService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; @@ -86,7 +85,7 @@ } /** - * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 * * @return */ @@ -103,7 +102,7 @@ BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); //设置为不能打印 - certificateReport.setPrintStatus("2"); + certificateReport.setPrintStatus(NON_PRINTABLE); certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { @@ -113,7 +112,7 @@ } /** - * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 */ @Transactional @Override @@ -128,7 +127,7 @@ //审批状态为审批中 certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //打印状态审批中 - certificateReport.setPrintStatus("3"); + certificateReport.setPrintStatus(IN_APPROVAL); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -142,7 +141,7 @@ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)&&CollectionUtils.isEmpty(request.getIds())) { - handlerBeApproved(approvalList, page, request); + approvalList=handlerBeApproved(approvalList, page, request); }else { approvalList=this.baseMapper.selectBatchForApprovalList(page, request, null); } 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 d03ab22..164c53a 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,17 +7,22 @@ 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.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; -import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +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.MonitorCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -26,9 +31,9 @@ import com.casic.missiles.service.business.IBusinessCertificateReportService; import com.casic.missiles.service.business.IBusinessOriginalRecordService; import com.casic.missiles.service.flowable.ApprovalOperateService; -import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; +import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.runtime.ProcessInstance; @@ -68,8 +73,10 @@ private RuntimeService runtimeService; @Resource private IBaseExportService iBaseExportService; + /** * 保存证书报告信息 + * * @param certificateReport * @return */ @@ -77,7 +84,7 @@ public ReturnDTO saveCertificateReport(BusinessCertificateReport certificateReport) { initCertificateReport(certificateReport); - if(this.baseMapper.insert(certificateReport)>0) + if (this.baseMapper.insert(certificateReport) > 0) return ReturnUtil.success(); throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -90,9 +97,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //删除数据库记录 - if(this.baseMapper.deleteById(request.getId()) > 0){ + if (this.baseMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -101,7 +108,7 @@ @Override public ReturnDTO draftUpdate(BusinessCertificateReport certificateReport) { - if(this.baseMapper.updateById(certificateReport)>0){ + if (this.baseMapper.updateById(certificateReport) > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -109,25 +116,27 @@ /** * 批量删除 + * * @param ids * @return */ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - return baseMapper.deleteBatchIds(ids) > 0?ReturnUtil.success(): + return baseMapper.deleteBatchIds(ids) > 0 ? ReturnUtil.success() : ReturnUtil.failed("删除失败"); } /** * 证书报告详情 + * * @param id * @return */ @Override public BusinessCertificateReport certificateReportDetail(Long id) { BusinessCertificateReport certificateReport = this.baseMapper.selectById(id); - if(certificateReport.getOriginalRecordId()!=null){ + if (certificateReport.getOriginalRecordId() != null) { try { certificateReport.setBusinessOriginalRecord(originalRecordService.originalDetail(certificateReport.getOriginalRecordId())); } catch (Exception e) { @@ -139,6 +148,7 @@ /** * 提交证书报告 + * * @param request * @return */ @@ -148,10 +158,10 @@ String formId = request.getFormId(); //2.根据流程定义id启动流程实例 ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); certificateReport.setApprovalStatus(ApprovalStatusEnum.UN_DRAFT); //非草稿状态 @@ -165,6 +175,7 @@ /** * 审批状态列表查询 + * * @param page * @param request * @return @@ -182,6 +193,7 @@ /** * 驳回后更新 + * * @param certificateReport * @return */ @@ -208,13 +220,14 @@ @Override public void originExport(CertificateReportApprovalRequest request, HttpServletResponse response) { try { - //toDo: -// List certificateReportResponses = this.certificateReport(request); -// for (OriginRecordResponse originRecordResponse : originExportList) { -// //字典值转换 -// DictCodeUtils.convertDictCodeToName(originRecordResponse); -// } -// iBaseExportService.exportExcel(response, CertificateReportResponse.class, originExportList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); + //登录用户 + AuthUser user = ShiroKit.getUser(); + Assert.isFalse(Objects.isNull(user), () -> { + throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); + }); + request.setCreateUserId(user.getId()); + List reportResponseList = handleApprovalStatus(null, request); + iBaseExportService.exportExcel(response, CertificateReportResponse.class, reportResponseList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); } catch (Exception e) { log.error("证书报告导出出现异常,异常信息为{}", e); } @@ -231,15 +244,15 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -251,27 +264,27 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ - approvalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); + if (!CollectionUtils.isEmpty(businessKeys)) { + approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ - rejectApprovalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { + rejectApprovalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -279,7 +292,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.CANCELED); } break; @@ -288,10 +301,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleAllApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), AllApproveList); } break; @@ -299,9 +312,26 @@ return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List allApproveList) { - Map taskMap = new HashMap<>(); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + /** + * 客户、样品详情列表 + */ + @Override + public Page certificateRecordsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception { + Page page = PageFactory.defaultPage(); + Page certificateResponsePage = this.baseMapper.certificateRecordsById(page, customerSampleIdRequest); + for (CertificationResponse customerSampleListResponse : certificateResponsePage.getRecords()) { + if (!StringUtils.isEmpty(customerSampleListResponse.getCertificationClass())) { + DictCodeUtils.convertDictMultiCodeToName(customerSampleListResponse); + } + } + return certificateResponsePage; + } + + private List handleAllApprovalListResponse(List approvalList, List allApproveList) { + Map taskMap = new HashMap<>(); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -313,7 +343,7 @@ return approvalList.stream().sorted(Comparator.comparing(CertificateReportResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, String status){ + private List handleApprovalListResponse(List approvalList, String status) { approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); @@ -324,14 +354,14 @@ private void initCertificateReport(BusinessCertificateReport certificateReport) { String prefix = MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue() - +DateUtil.format(new Date(),"YYYYMM"); + + DateUtil.format(new Date(), "YYYYMM"); Long maxNo = this.baseMapper.selectMaxCode(prefix); //生成证书编号 - String certificateReportNo =NumberGeneratorUtil.getCode( - MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(),maxNo); + String certificateReportNo = NumberGeneratorUtil.getCode( + MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(), maxNo); AuthUser authUser = ShiroKit.getUser(); certificateReport.setCreateUser(authUser.getId()); - certificateReport.setMeasurePersonId(authUser.getId()+""); + certificateReport.setMeasurePersonId(authUser.getId() + ""); certificateReport.setMeasureDeptId(authUser.getDeptId()); certificateReport.setCertificateReportCode(certificateReportNo); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index c4ed5f6..5456773 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -12,13 +12,12 @@ import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; import com.casic.missiles.mapper.business.EnvironmentListResponseMapper; import com.casic.missiles.model.business.BusinessEnvironmentRecord; -import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java new file mode 100644 index 0000000..e196dda --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Builder; +import lombok.Data; + +/** + * @author cz + */ +@Data +@Builder +public class NotifyEventStatusDTO { + + /** + * 业务表主键 + */ + private String id; + /** + * 业务表状态 + */ + private String status; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java index 65c19e3..0f3e84f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java @@ -74,7 +74,7 @@ /** * 部门/科室/工程组名称 */ - @ExcelProperty("组织编号") + @ExcelProperty("组织名称") @ApiModelProperty(value = "计量组织名称", dataType = "String", required = true) @NotBlank(message = "计量组织名称不能为空") @TableField("organize_name") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java index 54dc5cd..244e431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java @@ -84,7 +84,7 @@ * 签名用户id(一个用户一个签名,签名不使用关联表,签章暂时使用和使用人的关联表) */ @TableField("sign_user_id") - private String signUserId; + private Long signUserId; /** * 签章或签名-字典code diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java index ca20ca4..0e94b9e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 2f97cb3..fdc4bf0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -3,7 +3,6 @@ import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -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; @@ -17,9 +16,10 @@ import com.casic.missiles.dto.flowable.ApprovalAgreeRequest; import com.casic.missiles.dto.flowable.ApprovalRefuseRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -42,10 +42,9 @@ */ @Service @AllArgsConstructor -public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { +public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService, CertificatePrintStatusEnum { private final IBaseApprovalService baseApprovalService; - private final AbstractDictService dictService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; @@ -86,7 +85,7 @@ } /** - * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 * * @return */ @@ -103,7 +102,7 @@ BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); //设置为不能打印 - certificateReport.setPrintStatus("2"); + certificateReport.setPrintStatus(NON_PRINTABLE); certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { @@ -113,7 +112,7 @@ } /** - * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 */ @Transactional @Override @@ -128,7 +127,7 @@ //审批状态为审批中 certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //打印状态审批中 - certificateReport.setPrintStatus("3"); + certificateReport.setPrintStatus(IN_APPROVAL); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -142,7 +141,7 @@ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)&&CollectionUtils.isEmpty(request.getIds())) { - handlerBeApproved(approvalList, page, request); + approvalList=handlerBeApproved(approvalList, page, request); }else { approvalList=this.baseMapper.selectBatchForApprovalList(page, request, null); } 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 d03ab22..164c53a 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,17 +7,22 @@ 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.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; -import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +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.MonitorCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -26,9 +31,9 @@ import com.casic.missiles.service.business.IBusinessCertificateReportService; import com.casic.missiles.service.business.IBusinessOriginalRecordService; import com.casic.missiles.service.flowable.ApprovalOperateService; -import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; +import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.runtime.ProcessInstance; @@ -68,8 +73,10 @@ private RuntimeService runtimeService; @Resource private IBaseExportService iBaseExportService; + /** * 保存证书报告信息 + * * @param certificateReport * @return */ @@ -77,7 +84,7 @@ public ReturnDTO saveCertificateReport(BusinessCertificateReport certificateReport) { initCertificateReport(certificateReport); - if(this.baseMapper.insert(certificateReport)>0) + if (this.baseMapper.insert(certificateReport) > 0) return ReturnUtil.success(); throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -90,9 +97,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //删除数据库记录 - if(this.baseMapper.deleteById(request.getId()) > 0){ + if (this.baseMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -101,7 +108,7 @@ @Override public ReturnDTO draftUpdate(BusinessCertificateReport certificateReport) { - if(this.baseMapper.updateById(certificateReport)>0){ + if (this.baseMapper.updateById(certificateReport) > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -109,25 +116,27 @@ /** * 批量删除 + * * @param ids * @return */ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - return baseMapper.deleteBatchIds(ids) > 0?ReturnUtil.success(): + return baseMapper.deleteBatchIds(ids) > 0 ? ReturnUtil.success() : ReturnUtil.failed("删除失败"); } /** * 证书报告详情 + * * @param id * @return */ @Override public BusinessCertificateReport certificateReportDetail(Long id) { BusinessCertificateReport certificateReport = this.baseMapper.selectById(id); - if(certificateReport.getOriginalRecordId()!=null){ + if (certificateReport.getOriginalRecordId() != null) { try { certificateReport.setBusinessOriginalRecord(originalRecordService.originalDetail(certificateReport.getOriginalRecordId())); } catch (Exception e) { @@ -139,6 +148,7 @@ /** * 提交证书报告 + * * @param request * @return */ @@ -148,10 +158,10 @@ String formId = request.getFormId(); //2.根据流程定义id启动流程实例 ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); certificateReport.setApprovalStatus(ApprovalStatusEnum.UN_DRAFT); //非草稿状态 @@ -165,6 +175,7 @@ /** * 审批状态列表查询 + * * @param page * @param request * @return @@ -182,6 +193,7 @@ /** * 驳回后更新 + * * @param certificateReport * @return */ @@ -208,13 +220,14 @@ @Override public void originExport(CertificateReportApprovalRequest request, HttpServletResponse response) { try { - //toDo: -// List certificateReportResponses = this.certificateReport(request); -// for (OriginRecordResponse originRecordResponse : originExportList) { -// //字典值转换 -// DictCodeUtils.convertDictCodeToName(originRecordResponse); -// } -// iBaseExportService.exportExcel(response, CertificateReportResponse.class, originExportList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); + //登录用户 + AuthUser user = ShiroKit.getUser(); + Assert.isFalse(Objects.isNull(user), () -> { + throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); + }); + request.setCreateUserId(user.getId()); + List reportResponseList = handleApprovalStatus(null, request); + iBaseExportService.exportExcel(response, CertificateReportResponse.class, reportResponseList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); } catch (Exception e) { log.error("证书报告导出出现异常,异常信息为{}", e); } @@ -231,15 +244,15 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -251,27 +264,27 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ - approvalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); + if (!CollectionUtils.isEmpty(businessKeys)) { + approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ - rejectApprovalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { + rejectApprovalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -279,7 +292,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.CANCELED); } break; @@ -288,10 +301,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleAllApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), AllApproveList); } break; @@ -299,9 +312,26 @@ return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List allApproveList) { - Map taskMap = new HashMap<>(); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + /** + * 客户、样品详情列表 + */ + @Override + public Page certificateRecordsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception { + Page page = PageFactory.defaultPage(); + Page certificateResponsePage = this.baseMapper.certificateRecordsById(page, customerSampleIdRequest); + for (CertificationResponse customerSampleListResponse : certificateResponsePage.getRecords()) { + if (!StringUtils.isEmpty(customerSampleListResponse.getCertificationClass())) { + DictCodeUtils.convertDictMultiCodeToName(customerSampleListResponse); + } + } + return certificateResponsePage; + } + + private List handleAllApprovalListResponse(List approvalList, List allApproveList) { + Map taskMap = new HashMap<>(); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -313,7 +343,7 @@ return approvalList.stream().sorted(Comparator.comparing(CertificateReportResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, String status){ + private List handleApprovalListResponse(List approvalList, String status) { approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); @@ -324,14 +354,14 @@ private void initCertificateReport(BusinessCertificateReport certificateReport) { String prefix = MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue() - +DateUtil.format(new Date(),"YYYYMM"); + + DateUtil.format(new Date(), "YYYYMM"); Long maxNo = this.baseMapper.selectMaxCode(prefix); //生成证书编号 - String certificateReportNo =NumberGeneratorUtil.getCode( - MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(),maxNo); + String certificateReportNo = NumberGeneratorUtil.getCode( + MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(), maxNo); AuthUser authUser = ShiroKit.getUser(); certificateReport.setCreateUser(authUser.getId()); - certificateReport.setMeasurePersonId(authUser.getId()+""); + certificateReport.setMeasurePersonId(authUser.getId() + ""); certificateReport.setMeasureDeptId(authUser.getDeptId()); certificateReport.setCertificateReportCode(certificateReportNo); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index c4ed5f6..5456773 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -12,13 +12,12 @@ import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; import com.casic.missiles.mapper.business.EnvironmentListResponseMapper; import com.casic.missiles.model.business.BusinessEnvironmentRecord; -import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 859010b..0d847a0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessInterchangeMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; @@ -35,7 +36,7 @@ * 业务管理-设备交接单 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @@ -83,7 +84,7 @@ } /** - * 更新不对样品有任何操作 + * 更新只是交接单的变更,没有任何其他单位的变化 */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { @@ -94,6 +95,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 交接单新增,同时在样品委托书管理表中新增交接单记录id + */ @Override @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { @@ -111,6 +115,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 选中判断ids存在,进行其他条件的清空 + */ @Override public void exportExchange(InterchangeListRequest request, HttpServletResponse response) { try { @@ -153,7 +160,7 @@ private void populationExchange(BusinessInterchange businessInterchange) { Long maxNo = this.baseMapper.selectMaxExchangeNo(); - String orderNo = NumberGeneratorUtil.getContactNo("jjdh", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.INTER_CHANGE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessInterchange.setCreateUser(authUser.getId()); businessInterchange.setInterchangeCode(orderNo); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java new file mode 100644 index 0000000..e196dda --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Builder; +import lombok.Data; + +/** + * @author cz + */ +@Data +@Builder +public class NotifyEventStatusDTO { + + /** + * 业务表主键 + */ + private String id; + /** + * 业务表状态 + */ + private String status; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java index 65c19e3..0f3e84f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java @@ -74,7 +74,7 @@ /** * 部门/科室/工程组名称 */ - @ExcelProperty("组织编号") + @ExcelProperty("组织名称") @ApiModelProperty(value = "计量组织名称", dataType = "String", required = true) @NotBlank(message = "计量组织名称不能为空") @TableField("organize_name") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java index 54dc5cd..244e431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java @@ -84,7 +84,7 @@ * 签名用户id(一个用户一个签名,签名不使用关联表,签章暂时使用和使用人的关联表) */ @TableField("sign_user_id") - private String signUserId; + private Long signUserId; /** * 签章或签名-字典code diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java index ca20ca4..0e94b9e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 2f97cb3..fdc4bf0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -3,7 +3,6 @@ import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -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; @@ -17,9 +16,10 @@ import com.casic.missiles.dto.flowable.ApprovalAgreeRequest; import com.casic.missiles.dto.flowable.ApprovalRefuseRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -42,10 +42,9 @@ */ @Service @AllArgsConstructor -public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { +public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService, CertificatePrintStatusEnum { private final IBaseApprovalService baseApprovalService; - private final AbstractDictService dictService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; @@ -86,7 +85,7 @@ } /** - * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 * * @return */ @@ -103,7 +102,7 @@ BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); //设置为不能打印 - certificateReport.setPrintStatus("2"); + certificateReport.setPrintStatus(NON_PRINTABLE); certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { @@ -113,7 +112,7 @@ } /** - * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 */ @Transactional @Override @@ -128,7 +127,7 @@ //审批状态为审批中 certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //打印状态审批中 - certificateReport.setPrintStatus("3"); + certificateReport.setPrintStatus(IN_APPROVAL); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -142,7 +141,7 @@ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)&&CollectionUtils.isEmpty(request.getIds())) { - handlerBeApproved(approvalList, page, request); + approvalList=handlerBeApproved(approvalList, page, request); }else { approvalList=this.baseMapper.selectBatchForApprovalList(page, request, null); } 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 d03ab22..164c53a 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,17 +7,22 @@ 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.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; -import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +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.MonitorCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -26,9 +31,9 @@ import com.casic.missiles.service.business.IBusinessCertificateReportService; import com.casic.missiles.service.business.IBusinessOriginalRecordService; import com.casic.missiles.service.flowable.ApprovalOperateService; -import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; +import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.runtime.ProcessInstance; @@ -68,8 +73,10 @@ private RuntimeService runtimeService; @Resource private IBaseExportService iBaseExportService; + /** * 保存证书报告信息 + * * @param certificateReport * @return */ @@ -77,7 +84,7 @@ public ReturnDTO saveCertificateReport(BusinessCertificateReport certificateReport) { initCertificateReport(certificateReport); - if(this.baseMapper.insert(certificateReport)>0) + if (this.baseMapper.insert(certificateReport) > 0) return ReturnUtil.success(); throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -90,9 +97,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //删除数据库记录 - if(this.baseMapper.deleteById(request.getId()) > 0){ + if (this.baseMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -101,7 +108,7 @@ @Override public ReturnDTO draftUpdate(BusinessCertificateReport certificateReport) { - if(this.baseMapper.updateById(certificateReport)>0){ + if (this.baseMapper.updateById(certificateReport) > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -109,25 +116,27 @@ /** * 批量删除 + * * @param ids * @return */ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - return baseMapper.deleteBatchIds(ids) > 0?ReturnUtil.success(): + return baseMapper.deleteBatchIds(ids) > 0 ? ReturnUtil.success() : ReturnUtil.failed("删除失败"); } /** * 证书报告详情 + * * @param id * @return */ @Override public BusinessCertificateReport certificateReportDetail(Long id) { BusinessCertificateReport certificateReport = this.baseMapper.selectById(id); - if(certificateReport.getOriginalRecordId()!=null){ + if (certificateReport.getOriginalRecordId() != null) { try { certificateReport.setBusinessOriginalRecord(originalRecordService.originalDetail(certificateReport.getOriginalRecordId())); } catch (Exception e) { @@ -139,6 +148,7 @@ /** * 提交证书报告 + * * @param request * @return */ @@ -148,10 +158,10 @@ String formId = request.getFormId(); //2.根据流程定义id启动流程实例 ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); certificateReport.setApprovalStatus(ApprovalStatusEnum.UN_DRAFT); //非草稿状态 @@ -165,6 +175,7 @@ /** * 审批状态列表查询 + * * @param page * @param request * @return @@ -182,6 +193,7 @@ /** * 驳回后更新 + * * @param certificateReport * @return */ @@ -208,13 +220,14 @@ @Override public void originExport(CertificateReportApprovalRequest request, HttpServletResponse response) { try { - //toDo: -// List certificateReportResponses = this.certificateReport(request); -// for (OriginRecordResponse originRecordResponse : originExportList) { -// //字典值转换 -// DictCodeUtils.convertDictCodeToName(originRecordResponse); -// } -// iBaseExportService.exportExcel(response, CertificateReportResponse.class, originExportList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); + //登录用户 + AuthUser user = ShiroKit.getUser(); + Assert.isFalse(Objects.isNull(user), () -> { + throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); + }); + request.setCreateUserId(user.getId()); + List reportResponseList = handleApprovalStatus(null, request); + iBaseExportService.exportExcel(response, CertificateReportResponse.class, reportResponseList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); } catch (Exception e) { log.error("证书报告导出出现异常,异常信息为{}", e); } @@ -231,15 +244,15 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -251,27 +264,27 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ - approvalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); + if (!CollectionUtils.isEmpty(businessKeys)) { + approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ - rejectApprovalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { + rejectApprovalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -279,7 +292,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.CANCELED); } break; @@ -288,10 +301,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleAllApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), AllApproveList); } break; @@ -299,9 +312,26 @@ return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List allApproveList) { - Map taskMap = new HashMap<>(); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + /** + * 客户、样品详情列表 + */ + @Override + public Page certificateRecordsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception { + Page page = PageFactory.defaultPage(); + Page certificateResponsePage = this.baseMapper.certificateRecordsById(page, customerSampleIdRequest); + for (CertificationResponse customerSampleListResponse : certificateResponsePage.getRecords()) { + if (!StringUtils.isEmpty(customerSampleListResponse.getCertificationClass())) { + DictCodeUtils.convertDictMultiCodeToName(customerSampleListResponse); + } + } + return certificateResponsePage; + } + + private List handleAllApprovalListResponse(List approvalList, List allApproveList) { + Map taskMap = new HashMap<>(); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -313,7 +343,7 @@ return approvalList.stream().sorted(Comparator.comparing(CertificateReportResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, String status){ + private List handleApprovalListResponse(List approvalList, String status) { approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); @@ -324,14 +354,14 @@ private void initCertificateReport(BusinessCertificateReport certificateReport) { String prefix = MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue() - +DateUtil.format(new Date(),"YYYYMM"); + + DateUtil.format(new Date(), "YYYYMM"); Long maxNo = this.baseMapper.selectMaxCode(prefix); //生成证书编号 - String certificateReportNo =NumberGeneratorUtil.getCode( - MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(),maxNo); + String certificateReportNo = NumberGeneratorUtil.getCode( + MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(), maxNo); AuthUser authUser = ShiroKit.getUser(); certificateReport.setCreateUser(authUser.getId()); - certificateReport.setMeasurePersonId(authUser.getId()+""); + certificateReport.setMeasurePersonId(authUser.getId() + ""); certificateReport.setMeasureDeptId(authUser.getDeptId()); certificateReport.setCertificateReportCode(certificateReportNo); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index c4ed5f6..5456773 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -12,13 +12,12 @@ import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; import com.casic.missiles.mapper.business.EnvironmentListResponseMapper; import com.casic.missiles.model.business.BusinessEnvironmentRecord; -import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 859010b..0d847a0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessInterchangeMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; @@ -35,7 +36,7 @@ * 业务管理-设备交接单 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @@ -83,7 +84,7 @@ } /** - * 更新不对样品有任何操作 + * 更新只是交接单的变更,没有任何其他单位的变化 */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { @@ -94,6 +95,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 交接单新增,同时在样品委托书管理表中新增交接单记录id + */ @Override @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { @@ -111,6 +115,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 选中判断ids存在,进行其他条件的清空 + */ @Override public void exportExchange(InterchangeListRequest request, HttpServletResponse response) { try { @@ -153,7 +160,7 @@ private void populationExchange(BusinessInterchange businessInterchange) { Long maxNo = this.baseMapper.selectMaxExchangeNo(); - String orderNo = NumberGeneratorUtil.getContactNo("jjdh", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.INTER_CHANGE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessInterchange.setCreateUser(authUser.getId()); businessInterchange.setInterchangeCode(orderNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java index 585a207..955cc7a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java @@ -13,19 +13,18 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.*; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.HandOutPropertyEnum; -import com.casic.missiles.enums.MeasureStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.HandOutPropertyEnum; +import com.casic.missiles.enums.business.MeasureStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.*; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; -import com.casic.missiles.model.business.BusinessLabExecutiveInfo; -import com.casic.missiles.model.business.BusinessLabExecutiveOperateLog; -import com.casic.missiles.model.business.BusinessLabExecutiveTemplateInfo; +import com.casic.missiles.model.business.*; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; import com.casic.missiles.service.business.IBusinessLabExecutiveTemplateInfoService; @@ -71,6 +70,8 @@ private AbstractDictService dictService; @Autowired private MeterStaffMapper staffMapper; + @Autowired + private BusinessOrderMapper orderMapper; @Override public Page handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) throws Exception{ @@ -377,7 +378,9 @@ if(CollectionUtils.isEmpty(unExecutiveInfos)){ //更新样品状态为检测完 orderSampleRelationMapper.updateByOrderIdAndSampleId(pre.getOrderId(), pre.getSampleId(), SampleStatusEnum.MEASURE_COMPLETE); - // TODO: 2023/2/17 委托书中所有样品检测完更新委托书接收状态为检测完成,需求待定 + + //委托书中所有样品检测完更新委托书接收状态为检测完成,未检测完的数量为0则表示全部检完 + updateOrderStatusComplete(pre); //将检测记录加入到实验室检测模板(仅全部为检测完成的才加入到模板,包含终止的不会加入) List labList = new ArrayList<>(); @@ -407,9 +410,27 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + @Transactional + public void updateOrderStatusComplete(SampleOperateRequest pre) { + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("order_id", pre.getOrderId()); + List statusList = new ArrayList<>(); + statusList.add(SampleStatusEnum.TO_RECEIVE); + statusList.add(SampleStatusEnum.TO_HANDOUT); + statusList.add(SampleStatusEnum.IN_MEASURE); + wrapper1.in("sample_status", statusList); + //同一事务中可查到更新后的数量 + if(orderSampleRelationMapper.selectCount(wrapper1) == 0){ + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(pre.getOrderId()); + businessOrder.setStatus(OrderStatusEnum.COMPLETE); + orderMapper.updateById(businessOrder); + } + } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + String templateCode = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.LAB_EXECUTIVE_TEMPLATE_PREFIX, maxNo + i); templateInfo.setTemplateCode(templateCode); // templateInfo.setSampleTypeId(); templateInfo.setSampleId(lab.getSampleId()); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java new file mode 100644 index 0000000..e196dda --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Builder; +import lombok.Data; + +/** + * @author cz + */ +@Data +@Builder +public class NotifyEventStatusDTO { + + /** + * 业务表主键 + */ + private String id; + /** + * 业务表状态 + */ + private String status; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java index 65c19e3..0f3e84f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java @@ -74,7 +74,7 @@ /** * 部门/科室/工程组名称 */ - @ExcelProperty("组织编号") + @ExcelProperty("组织名称") @ApiModelProperty(value = "计量组织名称", dataType = "String", required = true) @NotBlank(message = "计量组织名称不能为空") @TableField("organize_name") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java index 54dc5cd..244e431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java @@ -84,7 +84,7 @@ * 签名用户id(一个用户一个签名,签名不使用关联表,签章暂时使用和使用人的关联表) */ @TableField("sign_user_id") - private String signUserId; + private Long signUserId; /** * 签章或签名-字典code diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java index ca20ca4..0e94b9e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 2f97cb3..fdc4bf0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -3,7 +3,6 @@ import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -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; @@ -17,9 +16,10 @@ import com.casic.missiles.dto.flowable.ApprovalAgreeRequest; import com.casic.missiles.dto.flowable.ApprovalRefuseRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -42,10 +42,9 @@ */ @Service @AllArgsConstructor -public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { +public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService, CertificatePrintStatusEnum { private final IBaseApprovalService baseApprovalService; - private final AbstractDictService dictService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; @@ -86,7 +85,7 @@ } /** - * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 * * @return */ @@ -103,7 +102,7 @@ BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); //设置为不能打印 - certificateReport.setPrintStatus("2"); + certificateReport.setPrintStatus(NON_PRINTABLE); certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { @@ -113,7 +112,7 @@ } /** - * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 */ @Transactional @Override @@ -128,7 +127,7 @@ //审批状态为审批中 certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //打印状态审批中 - certificateReport.setPrintStatus("3"); + certificateReport.setPrintStatus(IN_APPROVAL); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -142,7 +141,7 @@ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)&&CollectionUtils.isEmpty(request.getIds())) { - handlerBeApproved(approvalList, page, request); + approvalList=handlerBeApproved(approvalList, page, request); }else { approvalList=this.baseMapper.selectBatchForApprovalList(page, request, null); } 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 d03ab22..164c53a 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,17 +7,22 @@ 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.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; -import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +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.MonitorCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -26,9 +31,9 @@ import com.casic.missiles.service.business.IBusinessCertificateReportService; import com.casic.missiles.service.business.IBusinessOriginalRecordService; import com.casic.missiles.service.flowable.ApprovalOperateService; -import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; +import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.runtime.ProcessInstance; @@ -68,8 +73,10 @@ private RuntimeService runtimeService; @Resource private IBaseExportService iBaseExportService; + /** * 保存证书报告信息 + * * @param certificateReport * @return */ @@ -77,7 +84,7 @@ public ReturnDTO saveCertificateReport(BusinessCertificateReport certificateReport) { initCertificateReport(certificateReport); - if(this.baseMapper.insert(certificateReport)>0) + if (this.baseMapper.insert(certificateReport) > 0) return ReturnUtil.success(); throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -90,9 +97,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //删除数据库记录 - if(this.baseMapper.deleteById(request.getId()) > 0){ + if (this.baseMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -101,7 +108,7 @@ @Override public ReturnDTO draftUpdate(BusinessCertificateReport certificateReport) { - if(this.baseMapper.updateById(certificateReport)>0){ + if (this.baseMapper.updateById(certificateReport) > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -109,25 +116,27 @@ /** * 批量删除 + * * @param ids * @return */ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - return baseMapper.deleteBatchIds(ids) > 0?ReturnUtil.success(): + return baseMapper.deleteBatchIds(ids) > 0 ? ReturnUtil.success() : ReturnUtil.failed("删除失败"); } /** * 证书报告详情 + * * @param id * @return */ @Override public BusinessCertificateReport certificateReportDetail(Long id) { BusinessCertificateReport certificateReport = this.baseMapper.selectById(id); - if(certificateReport.getOriginalRecordId()!=null){ + if (certificateReport.getOriginalRecordId() != null) { try { certificateReport.setBusinessOriginalRecord(originalRecordService.originalDetail(certificateReport.getOriginalRecordId())); } catch (Exception e) { @@ -139,6 +148,7 @@ /** * 提交证书报告 + * * @param request * @return */ @@ -148,10 +158,10 @@ String formId = request.getFormId(); //2.根据流程定义id启动流程实例 ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); certificateReport.setApprovalStatus(ApprovalStatusEnum.UN_DRAFT); //非草稿状态 @@ -165,6 +175,7 @@ /** * 审批状态列表查询 + * * @param page * @param request * @return @@ -182,6 +193,7 @@ /** * 驳回后更新 + * * @param certificateReport * @return */ @@ -208,13 +220,14 @@ @Override public void originExport(CertificateReportApprovalRequest request, HttpServletResponse response) { try { - //toDo: -// List certificateReportResponses = this.certificateReport(request); -// for (OriginRecordResponse originRecordResponse : originExportList) { -// //字典值转换 -// DictCodeUtils.convertDictCodeToName(originRecordResponse); -// } -// iBaseExportService.exportExcel(response, CertificateReportResponse.class, originExportList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); + //登录用户 + AuthUser user = ShiroKit.getUser(); + Assert.isFalse(Objects.isNull(user), () -> { + throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); + }); + request.setCreateUserId(user.getId()); + List reportResponseList = handleApprovalStatus(null, request); + iBaseExportService.exportExcel(response, CertificateReportResponse.class, reportResponseList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); } catch (Exception e) { log.error("证书报告导出出现异常,异常信息为{}", e); } @@ -231,15 +244,15 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -251,27 +264,27 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ - approvalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); + if (!CollectionUtils.isEmpty(businessKeys)) { + approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ - rejectApprovalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { + rejectApprovalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -279,7 +292,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.CANCELED); } break; @@ -288,10 +301,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleAllApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), AllApproveList); } break; @@ -299,9 +312,26 @@ return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List allApproveList) { - Map taskMap = new HashMap<>(); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + /** + * 客户、样品详情列表 + */ + @Override + public Page certificateRecordsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception { + Page page = PageFactory.defaultPage(); + Page certificateResponsePage = this.baseMapper.certificateRecordsById(page, customerSampleIdRequest); + for (CertificationResponse customerSampleListResponse : certificateResponsePage.getRecords()) { + if (!StringUtils.isEmpty(customerSampleListResponse.getCertificationClass())) { + DictCodeUtils.convertDictMultiCodeToName(customerSampleListResponse); + } + } + return certificateResponsePage; + } + + private List handleAllApprovalListResponse(List approvalList, List allApproveList) { + Map taskMap = new HashMap<>(); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -313,7 +343,7 @@ return approvalList.stream().sorted(Comparator.comparing(CertificateReportResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, String status){ + private List handleApprovalListResponse(List approvalList, String status) { approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); @@ -324,14 +354,14 @@ private void initCertificateReport(BusinessCertificateReport certificateReport) { String prefix = MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue() - +DateUtil.format(new Date(),"YYYYMM"); + + DateUtil.format(new Date(), "YYYYMM"); Long maxNo = this.baseMapper.selectMaxCode(prefix); //生成证书编号 - String certificateReportNo =NumberGeneratorUtil.getCode( - MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(),maxNo); + String certificateReportNo = NumberGeneratorUtil.getCode( + MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(), maxNo); AuthUser authUser = ShiroKit.getUser(); certificateReport.setCreateUser(authUser.getId()); - certificateReport.setMeasurePersonId(authUser.getId()+""); + certificateReport.setMeasurePersonId(authUser.getId() + ""); certificateReport.setMeasureDeptId(authUser.getDeptId()); certificateReport.setCertificateReportCode(certificateReportNo); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index c4ed5f6..5456773 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -12,13 +12,12 @@ import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; import com.casic.missiles.mapper.business.EnvironmentListResponseMapper; import com.casic.missiles.model.business.BusinessEnvironmentRecord; -import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 859010b..0d847a0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessInterchangeMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; @@ -35,7 +36,7 @@ * 业务管理-设备交接单 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @@ -83,7 +84,7 @@ } /** - * 更新不对样品有任何操作 + * 更新只是交接单的变更,没有任何其他单位的变化 */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { @@ -94,6 +95,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 交接单新增,同时在样品委托书管理表中新增交接单记录id + */ @Override @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { @@ -111,6 +115,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 选中判断ids存在,进行其他条件的清空 + */ @Override public void exportExchange(InterchangeListRequest request, HttpServletResponse response) { try { @@ -153,7 +160,7 @@ private void populationExchange(BusinessInterchange businessInterchange) { Long maxNo = this.baseMapper.selectMaxExchangeNo(); - String orderNo = NumberGeneratorUtil.getContactNo("jjdh", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.INTER_CHANGE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessInterchange.setCreateUser(authUser.getId()); businessInterchange.setInterchangeCode(orderNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java index 585a207..955cc7a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java @@ -13,19 +13,18 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.*; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.HandOutPropertyEnum; -import com.casic.missiles.enums.MeasureStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.HandOutPropertyEnum; +import com.casic.missiles.enums.business.MeasureStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.*; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; -import com.casic.missiles.model.business.BusinessLabExecutiveInfo; -import com.casic.missiles.model.business.BusinessLabExecutiveOperateLog; -import com.casic.missiles.model.business.BusinessLabExecutiveTemplateInfo; +import com.casic.missiles.model.business.*; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; import com.casic.missiles.service.business.IBusinessLabExecutiveTemplateInfoService; @@ -71,6 +70,8 @@ private AbstractDictService dictService; @Autowired private MeterStaffMapper staffMapper; + @Autowired + private BusinessOrderMapper orderMapper; @Override public Page handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) throws Exception{ @@ -377,7 +378,9 @@ if(CollectionUtils.isEmpty(unExecutiveInfos)){ //更新样品状态为检测完 orderSampleRelationMapper.updateByOrderIdAndSampleId(pre.getOrderId(), pre.getSampleId(), SampleStatusEnum.MEASURE_COMPLETE); - // TODO: 2023/2/17 委托书中所有样品检测完更新委托书接收状态为检测完成,需求待定 + + //委托书中所有样品检测完更新委托书接收状态为检测完成,未检测完的数量为0则表示全部检完 + updateOrderStatusComplete(pre); //将检测记录加入到实验室检测模板(仅全部为检测完成的才加入到模板,包含终止的不会加入) List labList = new ArrayList<>(); @@ -407,9 +410,27 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + @Transactional + public void updateOrderStatusComplete(SampleOperateRequest pre) { + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("order_id", pre.getOrderId()); + List statusList = new ArrayList<>(); + statusList.add(SampleStatusEnum.TO_RECEIVE); + statusList.add(SampleStatusEnum.TO_HANDOUT); + statusList.add(SampleStatusEnum.IN_MEASURE); + wrapper1.in("sample_status", statusList); + //同一事务中可查到更新后的数量 + if(orderSampleRelationMapper.selectCount(wrapper1) == 0){ + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(pre.getOrderId()); + businessOrder.setStatus(OrderStatusEnum.COMPLETE); + orderMapper.updateById(businessOrder); + } + } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + String templateCode = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.LAB_EXECUTIVE_TEMPLATE_PREFIX, maxNo + i); templateInfo.setTemplateCode(templateCode); // templateInfo.setSampleTypeId(); templateInfo.setSampleId(lab.getSampleId()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index f5c6f61..1d63554 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -14,6 +14,10 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; +import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; @@ -35,7 +39,6 @@ import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -45,12 +48,12 @@ * 业务管理-委托书 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @AllArgsConstructor -public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { +public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService,PrefixCodeEnum, OrderStatusEnum,SampleStatusEnum, MeasureTypeEnum { private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; @@ -90,8 +93,10 @@ List customerSampleList = new ArrayList<>(); for (BusinessOrderSampleRelation orderSample : orderSampleList) { CustomerSampleInfo customerSampleInfo = customerSampleService.sampleDetail(orderSample.getSampleId()); - customerSampleInfo.setIsExistSample("1"); - customerSampleList.add(customerSampleInfo); + if (null != customerSampleInfo) { + customerSampleInfo.setIsExistSample("1"); + customerSampleList.add(customerSampleInfo); + } } businessOrder.setCustomerSampleInfoList(customerSampleList); return businessOrder; @@ -202,7 +207,13 @@ @Override public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); - String dealType = "委托书" + ((status.equals("2")) ? "接收" : "退回"); + String dealType = ""; + if (status.equals(ALREADY_RECEIVED)) { + dealType = "委托书接收" ; + doUpdateSampleStatus(orderCancelRequest.getId(),TO_RECEIVE); + } else { + dealType = "委托书退回"; + } int addDealRecordFlag = addDealRecord(orderCancelRequest, dealType); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -216,7 +227,7 @@ @Override @Transactional public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { - int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), ALREADY_CANCEL); int addDealRecordFlag = addDealRecord(orderCancelRequest, "委托书取消"); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -250,6 +261,7 @@ return dealRecordMapper.insert(businessDealRecord); } + /** * 强调正在做状态更新 */ @@ -280,12 +292,12 @@ private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); - String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(ORDER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); - businessOrder.setStatus("1"); + businessOrder.setStatus(NOT_RECEIVED); } /** @@ -320,10 +332,23 @@ sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); - sampleStatusPopulation.setMeasureType("1"); + sampleStatusPopulation.setMeasureType(INSIDE_MEASURE); return this.sampleRelationMapper.insert(sampleStatusPopulation); } + /** + * 强调正在做状态更新 + */ + private int doUpdateSampleStatus(Long orderId, String sampleStatus) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", orderId); + BusinessOrderSampleRelation orderSample = new BusinessOrderSampleRelation(); + orderSample.setId(orderId); + orderSample.setSampleStatus(sampleStatus); + return this.sampleRelationMapper.update(orderSample, queryWrapper); + } + + private void doSampleListPopulation(BusinessOrder businessOrder) { businessOrder.getCustomerSampleInfoList().forEach( customerSampleInfo -> { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java new file mode 100644 index 0000000..e196dda --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Builder; +import lombok.Data; + +/** + * @author cz + */ +@Data +@Builder +public class NotifyEventStatusDTO { + + /** + * 业务表主键 + */ + private String id; + /** + * 业务表状态 + */ + private String status; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java index 65c19e3..0f3e84f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java @@ -74,7 +74,7 @@ /** * 部门/科室/工程组名称 */ - @ExcelProperty("组织编号") + @ExcelProperty("组织名称") @ApiModelProperty(value = "计量组织名称", dataType = "String", required = true) @NotBlank(message = "计量组织名称不能为空") @TableField("organize_name") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java index 54dc5cd..244e431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java @@ -84,7 +84,7 @@ * 签名用户id(一个用户一个签名,签名不使用关联表,签章暂时使用和使用人的关联表) */ @TableField("sign_user_id") - private String signUserId; + private Long signUserId; /** * 签章或签名-字典code diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java index ca20ca4..0e94b9e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 2f97cb3..fdc4bf0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -3,7 +3,6 @@ import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -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; @@ -17,9 +16,10 @@ import com.casic.missiles.dto.flowable.ApprovalAgreeRequest; import com.casic.missiles.dto.flowable.ApprovalRefuseRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -42,10 +42,9 @@ */ @Service @AllArgsConstructor -public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { +public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService, CertificatePrintStatusEnum { private final IBaseApprovalService baseApprovalService; - private final AbstractDictService dictService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; @@ -86,7 +85,7 @@ } /** - * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 * * @return */ @@ -103,7 +102,7 @@ BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); //设置为不能打印 - certificateReport.setPrintStatus("2"); + certificateReport.setPrintStatus(NON_PRINTABLE); certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { @@ -113,7 +112,7 @@ } /** - * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 */ @Transactional @Override @@ -128,7 +127,7 @@ //审批状态为审批中 certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //打印状态审批中 - certificateReport.setPrintStatus("3"); + certificateReport.setPrintStatus(IN_APPROVAL); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -142,7 +141,7 @@ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)&&CollectionUtils.isEmpty(request.getIds())) { - handlerBeApproved(approvalList, page, request); + approvalList=handlerBeApproved(approvalList, page, request); }else { approvalList=this.baseMapper.selectBatchForApprovalList(page, request, null); } 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 d03ab22..164c53a 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,17 +7,22 @@ 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.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; -import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +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.MonitorCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -26,9 +31,9 @@ import com.casic.missiles.service.business.IBusinessCertificateReportService; import com.casic.missiles.service.business.IBusinessOriginalRecordService; import com.casic.missiles.service.flowable.ApprovalOperateService; -import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; +import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.runtime.ProcessInstance; @@ -68,8 +73,10 @@ private RuntimeService runtimeService; @Resource private IBaseExportService iBaseExportService; + /** * 保存证书报告信息 + * * @param certificateReport * @return */ @@ -77,7 +84,7 @@ public ReturnDTO saveCertificateReport(BusinessCertificateReport certificateReport) { initCertificateReport(certificateReport); - if(this.baseMapper.insert(certificateReport)>0) + if (this.baseMapper.insert(certificateReport) > 0) return ReturnUtil.success(); throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -90,9 +97,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //删除数据库记录 - if(this.baseMapper.deleteById(request.getId()) > 0){ + if (this.baseMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -101,7 +108,7 @@ @Override public ReturnDTO draftUpdate(BusinessCertificateReport certificateReport) { - if(this.baseMapper.updateById(certificateReport)>0){ + if (this.baseMapper.updateById(certificateReport) > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -109,25 +116,27 @@ /** * 批量删除 + * * @param ids * @return */ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - return baseMapper.deleteBatchIds(ids) > 0?ReturnUtil.success(): + return baseMapper.deleteBatchIds(ids) > 0 ? ReturnUtil.success() : ReturnUtil.failed("删除失败"); } /** * 证书报告详情 + * * @param id * @return */ @Override public BusinessCertificateReport certificateReportDetail(Long id) { BusinessCertificateReport certificateReport = this.baseMapper.selectById(id); - if(certificateReport.getOriginalRecordId()!=null){ + if (certificateReport.getOriginalRecordId() != null) { try { certificateReport.setBusinessOriginalRecord(originalRecordService.originalDetail(certificateReport.getOriginalRecordId())); } catch (Exception e) { @@ -139,6 +148,7 @@ /** * 提交证书报告 + * * @param request * @return */ @@ -148,10 +158,10 @@ String formId = request.getFormId(); //2.根据流程定义id启动流程实例 ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); certificateReport.setApprovalStatus(ApprovalStatusEnum.UN_DRAFT); //非草稿状态 @@ -165,6 +175,7 @@ /** * 审批状态列表查询 + * * @param page * @param request * @return @@ -182,6 +193,7 @@ /** * 驳回后更新 + * * @param certificateReport * @return */ @@ -208,13 +220,14 @@ @Override public void originExport(CertificateReportApprovalRequest request, HttpServletResponse response) { try { - //toDo: -// List certificateReportResponses = this.certificateReport(request); -// for (OriginRecordResponse originRecordResponse : originExportList) { -// //字典值转换 -// DictCodeUtils.convertDictCodeToName(originRecordResponse); -// } -// iBaseExportService.exportExcel(response, CertificateReportResponse.class, originExportList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); + //登录用户 + AuthUser user = ShiroKit.getUser(); + Assert.isFalse(Objects.isNull(user), () -> { + throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); + }); + request.setCreateUserId(user.getId()); + List reportResponseList = handleApprovalStatus(null, request); + iBaseExportService.exportExcel(response, CertificateReportResponse.class, reportResponseList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); } catch (Exception e) { log.error("证书报告导出出现异常,异常信息为{}", e); } @@ -231,15 +244,15 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -251,27 +264,27 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ - approvalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); + if (!CollectionUtils.isEmpty(businessKeys)) { + approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ - rejectApprovalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { + rejectApprovalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -279,7 +292,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.CANCELED); } break; @@ -288,10 +301,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleAllApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), AllApproveList); } break; @@ -299,9 +312,26 @@ return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List allApproveList) { - Map taskMap = new HashMap<>(); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + /** + * 客户、样品详情列表 + */ + @Override + public Page certificateRecordsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception { + Page page = PageFactory.defaultPage(); + Page certificateResponsePage = this.baseMapper.certificateRecordsById(page, customerSampleIdRequest); + for (CertificationResponse customerSampleListResponse : certificateResponsePage.getRecords()) { + if (!StringUtils.isEmpty(customerSampleListResponse.getCertificationClass())) { + DictCodeUtils.convertDictMultiCodeToName(customerSampleListResponse); + } + } + return certificateResponsePage; + } + + private List handleAllApprovalListResponse(List approvalList, List allApproveList) { + Map taskMap = new HashMap<>(); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -313,7 +343,7 @@ return approvalList.stream().sorted(Comparator.comparing(CertificateReportResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, String status){ + private List handleApprovalListResponse(List approvalList, String status) { approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); @@ -324,14 +354,14 @@ private void initCertificateReport(BusinessCertificateReport certificateReport) { String prefix = MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue() - +DateUtil.format(new Date(),"YYYYMM"); + + DateUtil.format(new Date(), "YYYYMM"); Long maxNo = this.baseMapper.selectMaxCode(prefix); //生成证书编号 - String certificateReportNo =NumberGeneratorUtil.getCode( - MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(),maxNo); + String certificateReportNo = NumberGeneratorUtil.getCode( + MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(), maxNo); AuthUser authUser = ShiroKit.getUser(); certificateReport.setCreateUser(authUser.getId()); - certificateReport.setMeasurePersonId(authUser.getId()+""); + certificateReport.setMeasurePersonId(authUser.getId() + ""); certificateReport.setMeasureDeptId(authUser.getDeptId()); certificateReport.setCertificateReportCode(certificateReportNo); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index c4ed5f6..5456773 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -12,13 +12,12 @@ import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; import com.casic.missiles.mapper.business.EnvironmentListResponseMapper; import com.casic.missiles.model.business.BusinessEnvironmentRecord; -import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 859010b..0d847a0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessInterchangeMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; @@ -35,7 +36,7 @@ * 业务管理-设备交接单 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @@ -83,7 +84,7 @@ } /** - * 更新不对样品有任何操作 + * 更新只是交接单的变更,没有任何其他单位的变化 */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { @@ -94,6 +95,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 交接单新增,同时在样品委托书管理表中新增交接单记录id + */ @Override @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { @@ -111,6 +115,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 选中判断ids存在,进行其他条件的清空 + */ @Override public void exportExchange(InterchangeListRequest request, HttpServletResponse response) { try { @@ -153,7 +160,7 @@ private void populationExchange(BusinessInterchange businessInterchange) { Long maxNo = this.baseMapper.selectMaxExchangeNo(); - String orderNo = NumberGeneratorUtil.getContactNo("jjdh", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.INTER_CHANGE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessInterchange.setCreateUser(authUser.getId()); businessInterchange.setInterchangeCode(orderNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java index 585a207..955cc7a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java @@ -13,19 +13,18 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.*; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.HandOutPropertyEnum; -import com.casic.missiles.enums.MeasureStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.HandOutPropertyEnum; +import com.casic.missiles.enums.business.MeasureStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.*; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; -import com.casic.missiles.model.business.BusinessLabExecutiveInfo; -import com.casic.missiles.model.business.BusinessLabExecutiveOperateLog; -import com.casic.missiles.model.business.BusinessLabExecutiveTemplateInfo; +import com.casic.missiles.model.business.*; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; import com.casic.missiles.service.business.IBusinessLabExecutiveTemplateInfoService; @@ -71,6 +70,8 @@ private AbstractDictService dictService; @Autowired private MeterStaffMapper staffMapper; + @Autowired + private BusinessOrderMapper orderMapper; @Override public Page handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) throws Exception{ @@ -377,7 +378,9 @@ if(CollectionUtils.isEmpty(unExecutiveInfos)){ //更新样品状态为检测完 orderSampleRelationMapper.updateByOrderIdAndSampleId(pre.getOrderId(), pre.getSampleId(), SampleStatusEnum.MEASURE_COMPLETE); - // TODO: 2023/2/17 委托书中所有样品检测完更新委托书接收状态为检测完成,需求待定 + + //委托书中所有样品检测完更新委托书接收状态为检测完成,未检测完的数量为0则表示全部检完 + updateOrderStatusComplete(pre); //将检测记录加入到实验室检测模板(仅全部为检测完成的才加入到模板,包含终止的不会加入) List labList = new ArrayList<>(); @@ -407,9 +410,27 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + @Transactional + public void updateOrderStatusComplete(SampleOperateRequest pre) { + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("order_id", pre.getOrderId()); + List statusList = new ArrayList<>(); + statusList.add(SampleStatusEnum.TO_RECEIVE); + statusList.add(SampleStatusEnum.TO_HANDOUT); + statusList.add(SampleStatusEnum.IN_MEASURE); + wrapper1.in("sample_status", statusList); + //同一事务中可查到更新后的数量 + if(orderSampleRelationMapper.selectCount(wrapper1) == 0){ + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(pre.getOrderId()); + businessOrder.setStatus(OrderStatusEnum.COMPLETE); + orderMapper.updateById(businessOrder); + } + } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + String templateCode = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.LAB_EXECUTIVE_TEMPLATE_PREFIX, maxNo + i); templateInfo.setTemplateCode(templateCode); // templateInfo.setSampleTypeId(); templateInfo.setSampleId(lab.getSampleId()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index f5c6f61..1d63554 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -14,6 +14,10 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; +import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; @@ -35,7 +39,6 @@ import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -45,12 +48,12 @@ * 业务管理-委托书 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @AllArgsConstructor -public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { +public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService,PrefixCodeEnum, OrderStatusEnum,SampleStatusEnum, MeasureTypeEnum { private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; @@ -90,8 +93,10 @@ List customerSampleList = new ArrayList<>(); for (BusinessOrderSampleRelation orderSample : orderSampleList) { CustomerSampleInfo customerSampleInfo = customerSampleService.sampleDetail(orderSample.getSampleId()); - customerSampleInfo.setIsExistSample("1"); - customerSampleList.add(customerSampleInfo); + if (null != customerSampleInfo) { + customerSampleInfo.setIsExistSample("1"); + customerSampleList.add(customerSampleInfo); + } } businessOrder.setCustomerSampleInfoList(customerSampleList); return businessOrder; @@ -202,7 +207,13 @@ @Override public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); - String dealType = "委托书" + ((status.equals("2")) ? "接收" : "退回"); + String dealType = ""; + if (status.equals(ALREADY_RECEIVED)) { + dealType = "委托书接收" ; + doUpdateSampleStatus(orderCancelRequest.getId(),TO_RECEIVE); + } else { + dealType = "委托书退回"; + } int addDealRecordFlag = addDealRecord(orderCancelRequest, dealType); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -216,7 +227,7 @@ @Override @Transactional public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { - int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), ALREADY_CANCEL); int addDealRecordFlag = addDealRecord(orderCancelRequest, "委托书取消"); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -250,6 +261,7 @@ return dealRecordMapper.insert(businessDealRecord); } + /** * 强调正在做状态更新 */ @@ -280,12 +292,12 @@ private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); - String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(ORDER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); - businessOrder.setStatus("1"); + businessOrder.setStatus(NOT_RECEIVED); } /** @@ -320,10 +332,23 @@ sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); - sampleStatusPopulation.setMeasureType("1"); + sampleStatusPopulation.setMeasureType(INSIDE_MEASURE); return this.sampleRelationMapper.insert(sampleStatusPopulation); } + /** + * 强调正在做状态更新 + */ + private int doUpdateSampleStatus(Long orderId, String sampleStatus) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", orderId); + BusinessOrderSampleRelation orderSample = new BusinessOrderSampleRelation(); + orderSample.setId(orderId); + orderSample.setSampleStatus(sampleStatus); + return this.sampleRelationMapper.update(orderSample, queryWrapper); + } + + private void doSampleListPopulation(BusinessOrder businessOrder) { businessOrder.getCustomerSampleInfoList().forEach( customerSampleInfo -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java index 1e35b7a..1c602b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java @@ -131,7 +131,7 @@ @Override public ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord) { - if (this.baseMapper.insert(businessOriginalRecord) > 0) { + if (this.baseMapper.updateById(businessOriginalRecord) > 0) { //加入技术文件绑定 if (ObjectUtil.isNotEmpty(businessOriginalRecord.getFileList()) && businessOriginalRecord.getFileList().size() > 0) { originalRecordFileRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getFileList()); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java new file mode 100644 index 0000000..e196dda --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Builder; +import lombok.Data; + +/** + * @author cz + */ +@Data +@Builder +public class NotifyEventStatusDTO { + + /** + * 业务表主键 + */ + private String id; + /** + * 业务表状态 + */ + private String status; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java index 65c19e3..0f3e84f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java @@ -74,7 +74,7 @@ /** * 部门/科室/工程组名称 */ - @ExcelProperty("组织编号") + @ExcelProperty("组织名称") @ApiModelProperty(value = "计量组织名称", dataType = "String", required = true) @NotBlank(message = "计量组织名称不能为空") @TableField("organize_name") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java index 54dc5cd..244e431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java @@ -84,7 +84,7 @@ * 签名用户id(一个用户一个签名,签名不使用关联表,签章暂时使用和使用人的关联表) */ @TableField("sign_user_id") - private String signUserId; + private Long signUserId; /** * 签章或签名-字典code diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java index ca20ca4..0e94b9e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 2f97cb3..fdc4bf0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -3,7 +3,6 @@ import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -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; @@ -17,9 +16,10 @@ import com.casic.missiles.dto.flowable.ApprovalAgreeRequest; import com.casic.missiles.dto.flowable.ApprovalRefuseRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -42,10 +42,9 @@ */ @Service @AllArgsConstructor -public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { +public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService, CertificatePrintStatusEnum { private final IBaseApprovalService baseApprovalService; - private final AbstractDictService dictService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; @@ -86,7 +85,7 @@ } /** - * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 * * @return */ @@ -103,7 +102,7 @@ BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); //设置为不能打印 - certificateReport.setPrintStatus("2"); + certificateReport.setPrintStatus(NON_PRINTABLE); certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { @@ -113,7 +112,7 @@ } /** - * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 */ @Transactional @Override @@ -128,7 +127,7 @@ //审批状态为审批中 certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //打印状态审批中 - certificateReport.setPrintStatus("3"); + certificateReport.setPrintStatus(IN_APPROVAL); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -142,7 +141,7 @@ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)&&CollectionUtils.isEmpty(request.getIds())) { - handlerBeApproved(approvalList, page, request); + approvalList=handlerBeApproved(approvalList, page, request); }else { approvalList=this.baseMapper.selectBatchForApprovalList(page, request, null); } 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 d03ab22..164c53a 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,17 +7,22 @@ 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.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; -import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +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.MonitorCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -26,9 +31,9 @@ import com.casic.missiles.service.business.IBusinessCertificateReportService; import com.casic.missiles.service.business.IBusinessOriginalRecordService; import com.casic.missiles.service.flowable.ApprovalOperateService; -import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; +import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.runtime.ProcessInstance; @@ -68,8 +73,10 @@ private RuntimeService runtimeService; @Resource private IBaseExportService iBaseExportService; + /** * 保存证书报告信息 + * * @param certificateReport * @return */ @@ -77,7 +84,7 @@ public ReturnDTO saveCertificateReport(BusinessCertificateReport certificateReport) { initCertificateReport(certificateReport); - if(this.baseMapper.insert(certificateReport)>0) + if (this.baseMapper.insert(certificateReport) > 0) return ReturnUtil.success(); throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -90,9 +97,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //删除数据库记录 - if(this.baseMapper.deleteById(request.getId()) > 0){ + if (this.baseMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -101,7 +108,7 @@ @Override public ReturnDTO draftUpdate(BusinessCertificateReport certificateReport) { - if(this.baseMapper.updateById(certificateReport)>0){ + if (this.baseMapper.updateById(certificateReport) > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -109,25 +116,27 @@ /** * 批量删除 + * * @param ids * @return */ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - return baseMapper.deleteBatchIds(ids) > 0?ReturnUtil.success(): + return baseMapper.deleteBatchIds(ids) > 0 ? ReturnUtil.success() : ReturnUtil.failed("删除失败"); } /** * 证书报告详情 + * * @param id * @return */ @Override public BusinessCertificateReport certificateReportDetail(Long id) { BusinessCertificateReport certificateReport = this.baseMapper.selectById(id); - if(certificateReport.getOriginalRecordId()!=null){ + if (certificateReport.getOriginalRecordId() != null) { try { certificateReport.setBusinessOriginalRecord(originalRecordService.originalDetail(certificateReport.getOriginalRecordId())); } catch (Exception e) { @@ -139,6 +148,7 @@ /** * 提交证书报告 + * * @param request * @return */ @@ -148,10 +158,10 @@ String formId = request.getFormId(); //2.根据流程定义id启动流程实例 ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); certificateReport.setApprovalStatus(ApprovalStatusEnum.UN_DRAFT); //非草稿状态 @@ -165,6 +175,7 @@ /** * 审批状态列表查询 + * * @param page * @param request * @return @@ -182,6 +193,7 @@ /** * 驳回后更新 + * * @param certificateReport * @return */ @@ -208,13 +220,14 @@ @Override public void originExport(CertificateReportApprovalRequest request, HttpServletResponse response) { try { - //toDo: -// List certificateReportResponses = this.certificateReport(request); -// for (OriginRecordResponse originRecordResponse : originExportList) { -// //字典值转换 -// DictCodeUtils.convertDictCodeToName(originRecordResponse); -// } -// iBaseExportService.exportExcel(response, CertificateReportResponse.class, originExportList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); + //登录用户 + AuthUser user = ShiroKit.getUser(); + Assert.isFalse(Objects.isNull(user), () -> { + throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); + }); + request.setCreateUserId(user.getId()); + List reportResponseList = handleApprovalStatus(null, request); + iBaseExportService.exportExcel(response, CertificateReportResponse.class, reportResponseList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); } catch (Exception e) { log.error("证书报告导出出现异常,异常信息为{}", e); } @@ -231,15 +244,15 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -251,27 +264,27 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ - approvalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); + if (!CollectionUtils.isEmpty(businessKeys)) { + approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ - rejectApprovalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { + rejectApprovalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -279,7 +292,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.CANCELED); } break; @@ -288,10 +301,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleAllApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), AllApproveList); } break; @@ -299,9 +312,26 @@ return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List allApproveList) { - Map taskMap = new HashMap<>(); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + /** + * 客户、样品详情列表 + */ + @Override + public Page certificateRecordsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception { + Page page = PageFactory.defaultPage(); + Page certificateResponsePage = this.baseMapper.certificateRecordsById(page, customerSampleIdRequest); + for (CertificationResponse customerSampleListResponse : certificateResponsePage.getRecords()) { + if (!StringUtils.isEmpty(customerSampleListResponse.getCertificationClass())) { + DictCodeUtils.convertDictMultiCodeToName(customerSampleListResponse); + } + } + return certificateResponsePage; + } + + private List handleAllApprovalListResponse(List approvalList, List allApproveList) { + Map taskMap = new HashMap<>(); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -313,7 +343,7 @@ return approvalList.stream().sorted(Comparator.comparing(CertificateReportResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, String status){ + private List handleApprovalListResponse(List approvalList, String status) { approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); @@ -324,14 +354,14 @@ private void initCertificateReport(BusinessCertificateReport certificateReport) { String prefix = MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue() - +DateUtil.format(new Date(),"YYYYMM"); + + DateUtil.format(new Date(), "YYYYMM"); Long maxNo = this.baseMapper.selectMaxCode(prefix); //生成证书编号 - String certificateReportNo =NumberGeneratorUtil.getCode( - MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(),maxNo); + String certificateReportNo = NumberGeneratorUtil.getCode( + MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(), maxNo); AuthUser authUser = ShiroKit.getUser(); certificateReport.setCreateUser(authUser.getId()); - certificateReport.setMeasurePersonId(authUser.getId()+""); + certificateReport.setMeasurePersonId(authUser.getId() + ""); certificateReport.setMeasureDeptId(authUser.getDeptId()); certificateReport.setCertificateReportCode(certificateReportNo); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index c4ed5f6..5456773 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -12,13 +12,12 @@ import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; import com.casic.missiles.mapper.business.EnvironmentListResponseMapper; import com.casic.missiles.model.business.BusinessEnvironmentRecord; -import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 859010b..0d847a0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessInterchangeMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; @@ -35,7 +36,7 @@ * 业务管理-设备交接单 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @@ -83,7 +84,7 @@ } /** - * 更新不对样品有任何操作 + * 更新只是交接单的变更,没有任何其他单位的变化 */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { @@ -94,6 +95,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 交接单新增,同时在样品委托书管理表中新增交接单记录id + */ @Override @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { @@ -111,6 +115,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 选中判断ids存在,进行其他条件的清空 + */ @Override public void exportExchange(InterchangeListRequest request, HttpServletResponse response) { try { @@ -153,7 +160,7 @@ private void populationExchange(BusinessInterchange businessInterchange) { Long maxNo = this.baseMapper.selectMaxExchangeNo(); - String orderNo = NumberGeneratorUtil.getContactNo("jjdh", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.INTER_CHANGE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessInterchange.setCreateUser(authUser.getId()); businessInterchange.setInterchangeCode(orderNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java index 585a207..955cc7a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java @@ -13,19 +13,18 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.*; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.HandOutPropertyEnum; -import com.casic.missiles.enums.MeasureStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.HandOutPropertyEnum; +import com.casic.missiles.enums.business.MeasureStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.*; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; -import com.casic.missiles.model.business.BusinessLabExecutiveInfo; -import com.casic.missiles.model.business.BusinessLabExecutiveOperateLog; -import com.casic.missiles.model.business.BusinessLabExecutiveTemplateInfo; +import com.casic.missiles.model.business.*; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; import com.casic.missiles.service.business.IBusinessLabExecutiveTemplateInfoService; @@ -71,6 +70,8 @@ private AbstractDictService dictService; @Autowired private MeterStaffMapper staffMapper; + @Autowired + private BusinessOrderMapper orderMapper; @Override public Page handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) throws Exception{ @@ -377,7 +378,9 @@ if(CollectionUtils.isEmpty(unExecutiveInfos)){ //更新样品状态为检测完 orderSampleRelationMapper.updateByOrderIdAndSampleId(pre.getOrderId(), pre.getSampleId(), SampleStatusEnum.MEASURE_COMPLETE); - // TODO: 2023/2/17 委托书中所有样品检测完更新委托书接收状态为检测完成,需求待定 + + //委托书中所有样品检测完更新委托书接收状态为检测完成,未检测完的数量为0则表示全部检完 + updateOrderStatusComplete(pre); //将检测记录加入到实验室检测模板(仅全部为检测完成的才加入到模板,包含终止的不会加入) List labList = new ArrayList<>(); @@ -407,9 +410,27 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + @Transactional + public void updateOrderStatusComplete(SampleOperateRequest pre) { + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("order_id", pre.getOrderId()); + List statusList = new ArrayList<>(); + statusList.add(SampleStatusEnum.TO_RECEIVE); + statusList.add(SampleStatusEnum.TO_HANDOUT); + statusList.add(SampleStatusEnum.IN_MEASURE); + wrapper1.in("sample_status", statusList); + //同一事务中可查到更新后的数量 + if(orderSampleRelationMapper.selectCount(wrapper1) == 0){ + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(pre.getOrderId()); + businessOrder.setStatus(OrderStatusEnum.COMPLETE); + orderMapper.updateById(businessOrder); + } + } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + String templateCode = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.LAB_EXECUTIVE_TEMPLATE_PREFIX, maxNo + i); templateInfo.setTemplateCode(templateCode); // templateInfo.setSampleTypeId(); templateInfo.setSampleId(lab.getSampleId()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index f5c6f61..1d63554 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -14,6 +14,10 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; +import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; @@ -35,7 +39,6 @@ import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -45,12 +48,12 @@ * 业务管理-委托书 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @AllArgsConstructor -public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { +public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService,PrefixCodeEnum, OrderStatusEnum,SampleStatusEnum, MeasureTypeEnum { private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; @@ -90,8 +93,10 @@ List customerSampleList = new ArrayList<>(); for (BusinessOrderSampleRelation orderSample : orderSampleList) { CustomerSampleInfo customerSampleInfo = customerSampleService.sampleDetail(orderSample.getSampleId()); - customerSampleInfo.setIsExistSample("1"); - customerSampleList.add(customerSampleInfo); + if (null != customerSampleInfo) { + customerSampleInfo.setIsExistSample("1"); + customerSampleList.add(customerSampleInfo); + } } businessOrder.setCustomerSampleInfoList(customerSampleList); return businessOrder; @@ -202,7 +207,13 @@ @Override public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); - String dealType = "委托书" + ((status.equals("2")) ? "接收" : "退回"); + String dealType = ""; + if (status.equals(ALREADY_RECEIVED)) { + dealType = "委托书接收" ; + doUpdateSampleStatus(orderCancelRequest.getId(),TO_RECEIVE); + } else { + dealType = "委托书退回"; + } int addDealRecordFlag = addDealRecord(orderCancelRequest, dealType); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -216,7 +227,7 @@ @Override @Transactional public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { - int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), ALREADY_CANCEL); int addDealRecordFlag = addDealRecord(orderCancelRequest, "委托书取消"); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -250,6 +261,7 @@ return dealRecordMapper.insert(businessDealRecord); } + /** * 强调正在做状态更新 */ @@ -280,12 +292,12 @@ private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); - String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(ORDER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); - businessOrder.setStatus("1"); + businessOrder.setStatus(NOT_RECEIVED); } /** @@ -320,10 +332,23 @@ sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); - sampleStatusPopulation.setMeasureType("1"); + sampleStatusPopulation.setMeasureType(INSIDE_MEASURE); return this.sampleRelationMapper.insert(sampleStatusPopulation); } + /** + * 强调正在做状态更新 + */ + private int doUpdateSampleStatus(Long orderId, String sampleStatus) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", orderId); + BusinessOrderSampleRelation orderSample = new BusinessOrderSampleRelation(); + orderSample.setId(orderId); + orderSample.setSampleStatus(sampleStatus); + return this.sampleRelationMapper.update(orderSample, queryWrapper); + } + + private void doSampleListPopulation(BusinessOrder businessOrder) { businessOrder.getCustomerSampleInfoList().forEach( customerSampleInfo -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java index 1e35b7a..1c602b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java @@ -131,7 +131,7 @@ @Override public ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord) { - if (this.baseMapper.insert(businessOriginalRecord) > 0) { + if (this.baseMapper.updateById(businessOriginalRecord) > 0) { //加入技术文件绑定 if (ObjectUtil.isNotEmpty(businessOriginalRecord.getFileList()) && businessOriginalRecord.getFileList().size() > 0) { originalRecordFileRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getFileList()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java index 07c88e9..c9c1902 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.date.DateUtil; import com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -14,6 +15,7 @@ import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; @@ -29,6 +31,7 @@ import org.springframework.util.ObjectUtils; import javax.servlet.http.HttpServletResponse; +import java.util.Date; import java.util.List; import java.util.Objects; import java.util.Optional; @@ -39,7 +42,7 @@ @Service @Slf4j @AllArgsConstructor -public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService { +public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService, SampleStatusEnum, CurrentSegmentEnum, MeasureTypeEnum { private final BusinessOrderSampleRelationMapper orderSampleRelationMapper; private final BusinessCertificateReportMapper certificateReportMapper; @@ -73,20 +76,20 @@ Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.TO_HANDOUT: + case TO_HANDOUT: //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 - case SampleStatusEnum.IN_MEASURE: + case IN_MEASURE: //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.MEASURE_COMPLETE: + case MEASURE_COMPLETE: doDispatchVoPopulation(dispatchVO, sampleId, orderId); return; //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 - case SampleStatusEnum.BE_OVERDUE: + case BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); @@ -126,12 +129,14 @@ /** - * 状态更新 + * 根据sampleId,orderId,进行状态更新 */ @Override + @Transactional public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { + boolean beforeEventFlag = beforeStatusChange(deviceStatusChangeDTO); Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFlag > 0) { + if (updateFlag > 0 && beforeEventFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -181,8 +186,9 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); +// queryWrapper.ne("order_id", deviceStatusChangeDTO.getOrderId()); BusinessLabExecutiveInfo businessLabExecutiveInfo = new BusinessLabExecutiveInfo(); - businessLabExecutiveInfo.setMeasureStatus(deviceStatusChangeDTO.getStatus()); +// businessLabExecutiveInfo.setMeasureStatus(); businessLabExecutiveInfo.setRemark(deviceStatusChangeDTO.getReason()); labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } @@ -214,6 +220,9 @@ return handOutLabExecutiveDTOOptional.orElse(null); } + /** + * 构建证书的查询条件 + */ private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("order_id", dispatchVO.getOrderId()); @@ -230,7 +239,8 @@ queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); if (terminateFlag) { - queryWrapper.eq("sample_status", "2").or().eq("sample_status", "3").or().eq("sample_status", "4"); + //若是终止,需要对应待分发、检测中、检测完三个状态的变更 + queryWrapper.eq("sample_status", TO_HANDOUT).or().eq("sample_status", IN_MEASURE).or().eq("sample_status", MEASURE_COMPLETE); } BusinessOrderSampleRelation businessOrderSampleRelation = new BusinessOrderSampleRelation(); businessOrderSampleRelation.setSampleStatus(statusChangeDTO.getStatus()); @@ -238,12 +248,12 @@ } /** - * 判断不是自检 + * 判断不是自检,即外包和外检,进行环节设定 */ private boolean notSelfMeasure(DeviceDispatchVO dispatchVO) { if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType())) { - if (MeasureStatusEnum.TO_ALLOCATE.equals(String.valueOf(dispatchVO.getMeasureType())) || MeasureStatusEnum.TO_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { - String currentSegment = MeasureStatusEnum.TO_ALLOCATE.equals(dispatchVO.getMeasureType()) ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; + if (OTHERS_UNDERTAKE.equals(String.valueOf(dispatchVO.getMeasureType())) || OUTSIDE_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { + String currentSegment = OTHERS_UNDERTAKE.equals(dispatchVO.getMeasureType()) ? OUT_UNDERTAKE : OUT_MESASUR; dispatchVO.setCurrentSegment(currentSegment); return true; } @@ -251,6 +261,9 @@ return false; } + /** + * 其他条件的置为空 + */ private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { request.setSampleName(null); request.setSampleNo(null); @@ -264,18 +277,38 @@ } /** - * 判断样品是完成或接收状态,直接显示即可 + * 判断样品是完成或接收状态,进行当前阶段环节的设置 */ private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { - if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + if (TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_INCOME); return true; } - if (SampleStatusEnum.TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); + if (TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_ALLOCATE); return true; } return false; } + private boolean beforeStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(TO_INCOME)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + List orderSampleRelationList = this.orderSampleRelationMapper.selectList(queryWrapper); + Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); + if (orderSampleRelationOptional.isPresent()) { + BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); + if (businessOrderSampleRelation.getSampleStatus().equals(TO_ALLOCATE)) { + BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); + businessOrderSample.setRealDeliverTime(DateUtil.format(new Date(), "yyyy-MM-dd")); + int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); + return updateFlag > 0 ? true : false; + } + } + } + return true; + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java new file mode 100644 index 0000000..e196dda --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Builder; +import lombok.Data; + +/** + * @author cz + */ +@Data +@Builder +public class NotifyEventStatusDTO { + + /** + * 业务表主键 + */ + private String id; + /** + * 业务表状态 + */ + private String status; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java index 65c19e3..0f3e84f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java @@ -74,7 +74,7 @@ /** * 部门/科室/工程组名称 */ - @ExcelProperty("组织编号") + @ExcelProperty("组织名称") @ApiModelProperty(value = "计量组织名称", dataType = "String", required = true) @NotBlank(message = "计量组织名称不能为空") @TableField("organize_name") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java index 54dc5cd..244e431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java @@ -84,7 +84,7 @@ * 签名用户id(一个用户一个签名,签名不使用关联表,签章暂时使用和使用人的关联表) */ @TableField("sign_user_id") - private String signUserId; + private Long signUserId; /** * 签章或签名-字典code diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java index ca20ca4..0e94b9e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 2f97cb3..fdc4bf0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -3,7 +3,6 @@ import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -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; @@ -17,9 +16,10 @@ import com.casic.missiles.dto.flowable.ApprovalAgreeRequest; import com.casic.missiles.dto.flowable.ApprovalRefuseRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -42,10 +42,9 @@ */ @Service @AllArgsConstructor -public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { +public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService, CertificatePrintStatusEnum { private final IBaseApprovalService baseApprovalService; - private final AbstractDictService dictService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; @@ -86,7 +85,7 @@ } /** - * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 * * @return */ @@ -103,7 +102,7 @@ BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); //设置为不能打印 - certificateReport.setPrintStatus("2"); + certificateReport.setPrintStatus(NON_PRINTABLE); certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { @@ -113,7 +112,7 @@ } /** - * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 */ @Transactional @Override @@ -128,7 +127,7 @@ //审批状态为审批中 certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //打印状态审批中 - certificateReport.setPrintStatus("3"); + certificateReport.setPrintStatus(IN_APPROVAL); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -142,7 +141,7 @@ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)&&CollectionUtils.isEmpty(request.getIds())) { - handlerBeApproved(approvalList, page, request); + approvalList=handlerBeApproved(approvalList, page, request); }else { approvalList=this.baseMapper.selectBatchForApprovalList(page, request, null); } 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 d03ab22..164c53a 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,17 +7,22 @@ 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.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; -import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +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.MonitorCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -26,9 +31,9 @@ import com.casic.missiles.service.business.IBusinessCertificateReportService; import com.casic.missiles.service.business.IBusinessOriginalRecordService; import com.casic.missiles.service.flowable.ApprovalOperateService; -import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; +import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.runtime.ProcessInstance; @@ -68,8 +73,10 @@ private RuntimeService runtimeService; @Resource private IBaseExportService iBaseExportService; + /** * 保存证书报告信息 + * * @param certificateReport * @return */ @@ -77,7 +84,7 @@ public ReturnDTO saveCertificateReport(BusinessCertificateReport certificateReport) { initCertificateReport(certificateReport); - if(this.baseMapper.insert(certificateReport)>0) + if (this.baseMapper.insert(certificateReport) > 0) return ReturnUtil.success(); throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -90,9 +97,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //删除数据库记录 - if(this.baseMapper.deleteById(request.getId()) > 0){ + if (this.baseMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -101,7 +108,7 @@ @Override public ReturnDTO draftUpdate(BusinessCertificateReport certificateReport) { - if(this.baseMapper.updateById(certificateReport)>0){ + if (this.baseMapper.updateById(certificateReport) > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -109,25 +116,27 @@ /** * 批量删除 + * * @param ids * @return */ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - return baseMapper.deleteBatchIds(ids) > 0?ReturnUtil.success(): + return baseMapper.deleteBatchIds(ids) > 0 ? ReturnUtil.success() : ReturnUtil.failed("删除失败"); } /** * 证书报告详情 + * * @param id * @return */ @Override public BusinessCertificateReport certificateReportDetail(Long id) { BusinessCertificateReport certificateReport = this.baseMapper.selectById(id); - if(certificateReport.getOriginalRecordId()!=null){ + if (certificateReport.getOriginalRecordId() != null) { try { certificateReport.setBusinessOriginalRecord(originalRecordService.originalDetail(certificateReport.getOriginalRecordId())); } catch (Exception e) { @@ -139,6 +148,7 @@ /** * 提交证书报告 + * * @param request * @return */ @@ -148,10 +158,10 @@ String formId = request.getFormId(); //2.根据流程定义id启动流程实例 ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); certificateReport.setApprovalStatus(ApprovalStatusEnum.UN_DRAFT); //非草稿状态 @@ -165,6 +175,7 @@ /** * 审批状态列表查询 + * * @param page * @param request * @return @@ -182,6 +193,7 @@ /** * 驳回后更新 + * * @param certificateReport * @return */ @@ -208,13 +220,14 @@ @Override public void originExport(CertificateReportApprovalRequest request, HttpServletResponse response) { try { - //toDo: -// List certificateReportResponses = this.certificateReport(request); -// for (OriginRecordResponse originRecordResponse : originExportList) { -// //字典值转换 -// DictCodeUtils.convertDictCodeToName(originRecordResponse); -// } -// iBaseExportService.exportExcel(response, CertificateReportResponse.class, originExportList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); + //登录用户 + AuthUser user = ShiroKit.getUser(); + Assert.isFalse(Objects.isNull(user), () -> { + throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); + }); + request.setCreateUserId(user.getId()); + List reportResponseList = handleApprovalStatus(null, request); + iBaseExportService.exportExcel(response, CertificateReportResponse.class, reportResponseList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); } catch (Exception e) { log.error("证书报告导出出现异常,异常信息为{}", e); } @@ -231,15 +244,15 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -251,27 +264,27 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ - approvalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); + if (!CollectionUtils.isEmpty(businessKeys)) { + approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ - rejectApprovalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { + rejectApprovalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -279,7 +292,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.CANCELED); } break; @@ -288,10 +301,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleAllApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), AllApproveList); } break; @@ -299,9 +312,26 @@ return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List allApproveList) { - Map taskMap = new HashMap<>(); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + /** + * 客户、样品详情列表 + */ + @Override + public Page certificateRecordsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception { + Page page = PageFactory.defaultPage(); + Page certificateResponsePage = this.baseMapper.certificateRecordsById(page, customerSampleIdRequest); + for (CertificationResponse customerSampleListResponse : certificateResponsePage.getRecords()) { + if (!StringUtils.isEmpty(customerSampleListResponse.getCertificationClass())) { + DictCodeUtils.convertDictMultiCodeToName(customerSampleListResponse); + } + } + return certificateResponsePage; + } + + private List handleAllApprovalListResponse(List approvalList, List allApproveList) { + Map taskMap = new HashMap<>(); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -313,7 +343,7 @@ return approvalList.stream().sorted(Comparator.comparing(CertificateReportResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, String status){ + private List handleApprovalListResponse(List approvalList, String status) { approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); @@ -324,14 +354,14 @@ private void initCertificateReport(BusinessCertificateReport certificateReport) { String prefix = MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue() - +DateUtil.format(new Date(),"YYYYMM"); + + DateUtil.format(new Date(), "YYYYMM"); Long maxNo = this.baseMapper.selectMaxCode(prefix); //生成证书编号 - String certificateReportNo =NumberGeneratorUtil.getCode( - MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(),maxNo); + String certificateReportNo = NumberGeneratorUtil.getCode( + MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(), maxNo); AuthUser authUser = ShiroKit.getUser(); certificateReport.setCreateUser(authUser.getId()); - certificateReport.setMeasurePersonId(authUser.getId()+""); + certificateReport.setMeasurePersonId(authUser.getId() + ""); certificateReport.setMeasureDeptId(authUser.getDeptId()); certificateReport.setCertificateReportCode(certificateReportNo); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index c4ed5f6..5456773 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -12,13 +12,12 @@ import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; import com.casic.missiles.mapper.business.EnvironmentListResponseMapper; import com.casic.missiles.model.business.BusinessEnvironmentRecord; -import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 859010b..0d847a0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessInterchangeMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; @@ -35,7 +36,7 @@ * 业务管理-设备交接单 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @@ -83,7 +84,7 @@ } /** - * 更新不对样品有任何操作 + * 更新只是交接单的变更,没有任何其他单位的变化 */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { @@ -94,6 +95,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 交接单新增,同时在样品委托书管理表中新增交接单记录id + */ @Override @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { @@ -111,6 +115,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 选中判断ids存在,进行其他条件的清空 + */ @Override public void exportExchange(InterchangeListRequest request, HttpServletResponse response) { try { @@ -153,7 +160,7 @@ private void populationExchange(BusinessInterchange businessInterchange) { Long maxNo = this.baseMapper.selectMaxExchangeNo(); - String orderNo = NumberGeneratorUtil.getContactNo("jjdh", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.INTER_CHANGE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessInterchange.setCreateUser(authUser.getId()); businessInterchange.setInterchangeCode(orderNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java index 585a207..955cc7a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java @@ -13,19 +13,18 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.*; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.HandOutPropertyEnum; -import com.casic.missiles.enums.MeasureStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.HandOutPropertyEnum; +import com.casic.missiles.enums.business.MeasureStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.*; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; -import com.casic.missiles.model.business.BusinessLabExecutiveInfo; -import com.casic.missiles.model.business.BusinessLabExecutiveOperateLog; -import com.casic.missiles.model.business.BusinessLabExecutiveTemplateInfo; +import com.casic.missiles.model.business.*; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; import com.casic.missiles.service.business.IBusinessLabExecutiveTemplateInfoService; @@ -71,6 +70,8 @@ private AbstractDictService dictService; @Autowired private MeterStaffMapper staffMapper; + @Autowired + private BusinessOrderMapper orderMapper; @Override public Page handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) throws Exception{ @@ -377,7 +378,9 @@ if(CollectionUtils.isEmpty(unExecutiveInfos)){ //更新样品状态为检测完 orderSampleRelationMapper.updateByOrderIdAndSampleId(pre.getOrderId(), pre.getSampleId(), SampleStatusEnum.MEASURE_COMPLETE); - // TODO: 2023/2/17 委托书中所有样品检测完更新委托书接收状态为检测完成,需求待定 + + //委托书中所有样品检测完更新委托书接收状态为检测完成,未检测完的数量为0则表示全部检完 + updateOrderStatusComplete(pre); //将检测记录加入到实验室检测模板(仅全部为检测完成的才加入到模板,包含终止的不会加入) List labList = new ArrayList<>(); @@ -407,9 +410,27 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + @Transactional + public void updateOrderStatusComplete(SampleOperateRequest pre) { + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("order_id", pre.getOrderId()); + List statusList = new ArrayList<>(); + statusList.add(SampleStatusEnum.TO_RECEIVE); + statusList.add(SampleStatusEnum.TO_HANDOUT); + statusList.add(SampleStatusEnum.IN_MEASURE); + wrapper1.in("sample_status", statusList); + //同一事务中可查到更新后的数量 + if(orderSampleRelationMapper.selectCount(wrapper1) == 0){ + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(pre.getOrderId()); + businessOrder.setStatus(OrderStatusEnum.COMPLETE); + orderMapper.updateById(businessOrder); + } + } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + String templateCode = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.LAB_EXECUTIVE_TEMPLATE_PREFIX, maxNo + i); templateInfo.setTemplateCode(templateCode); // templateInfo.setSampleTypeId(); templateInfo.setSampleId(lab.getSampleId()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index f5c6f61..1d63554 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -14,6 +14,10 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; +import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; @@ -35,7 +39,6 @@ import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -45,12 +48,12 @@ * 业务管理-委托书 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @AllArgsConstructor -public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { +public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService,PrefixCodeEnum, OrderStatusEnum,SampleStatusEnum, MeasureTypeEnum { private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; @@ -90,8 +93,10 @@ List customerSampleList = new ArrayList<>(); for (BusinessOrderSampleRelation orderSample : orderSampleList) { CustomerSampleInfo customerSampleInfo = customerSampleService.sampleDetail(orderSample.getSampleId()); - customerSampleInfo.setIsExistSample("1"); - customerSampleList.add(customerSampleInfo); + if (null != customerSampleInfo) { + customerSampleInfo.setIsExistSample("1"); + customerSampleList.add(customerSampleInfo); + } } businessOrder.setCustomerSampleInfoList(customerSampleList); return businessOrder; @@ -202,7 +207,13 @@ @Override public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); - String dealType = "委托书" + ((status.equals("2")) ? "接收" : "退回"); + String dealType = ""; + if (status.equals(ALREADY_RECEIVED)) { + dealType = "委托书接收" ; + doUpdateSampleStatus(orderCancelRequest.getId(),TO_RECEIVE); + } else { + dealType = "委托书退回"; + } int addDealRecordFlag = addDealRecord(orderCancelRequest, dealType); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -216,7 +227,7 @@ @Override @Transactional public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { - int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), ALREADY_CANCEL); int addDealRecordFlag = addDealRecord(orderCancelRequest, "委托书取消"); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -250,6 +261,7 @@ return dealRecordMapper.insert(businessDealRecord); } + /** * 强调正在做状态更新 */ @@ -280,12 +292,12 @@ private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); - String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(ORDER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); - businessOrder.setStatus("1"); + businessOrder.setStatus(NOT_RECEIVED); } /** @@ -320,10 +332,23 @@ sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); - sampleStatusPopulation.setMeasureType("1"); + sampleStatusPopulation.setMeasureType(INSIDE_MEASURE); return this.sampleRelationMapper.insert(sampleStatusPopulation); } + /** + * 强调正在做状态更新 + */ + private int doUpdateSampleStatus(Long orderId, String sampleStatus) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", orderId); + BusinessOrderSampleRelation orderSample = new BusinessOrderSampleRelation(); + orderSample.setId(orderId); + orderSample.setSampleStatus(sampleStatus); + return this.sampleRelationMapper.update(orderSample, queryWrapper); + } + + private void doSampleListPopulation(BusinessOrder businessOrder) { businessOrder.getCustomerSampleInfoList().forEach( customerSampleInfo -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java index 1e35b7a..1c602b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java @@ -131,7 +131,7 @@ @Override public ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord) { - if (this.baseMapper.insert(businessOriginalRecord) > 0) { + if (this.baseMapper.updateById(businessOriginalRecord) > 0) { //加入技术文件绑定 if (ObjectUtil.isNotEmpty(businessOriginalRecord.getFileList()) && businessOriginalRecord.getFileList().size() > 0) { originalRecordFileRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getFileList()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java index 07c88e9..c9c1902 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.date.DateUtil; import com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -14,6 +15,7 @@ import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; @@ -29,6 +31,7 @@ import org.springframework.util.ObjectUtils; import javax.servlet.http.HttpServletResponse; +import java.util.Date; import java.util.List; import java.util.Objects; import java.util.Optional; @@ -39,7 +42,7 @@ @Service @Slf4j @AllArgsConstructor -public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService { +public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService, SampleStatusEnum, CurrentSegmentEnum, MeasureTypeEnum { private final BusinessOrderSampleRelationMapper orderSampleRelationMapper; private final BusinessCertificateReportMapper certificateReportMapper; @@ -73,20 +76,20 @@ Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.TO_HANDOUT: + case TO_HANDOUT: //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 - case SampleStatusEnum.IN_MEASURE: + case IN_MEASURE: //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.MEASURE_COMPLETE: + case MEASURE_COMPLETE: doDispatchVoPopulation(dispatchVO, sampleId, orderId); return; //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 - case SampleStatusEnum.BE_OVERDUE: + case BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); @@ -126,12 +129,14 @@ /** - * 状态更新 + * 根据sampleId,orderId,进行状态更新 */ @Override + @Transactional public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { + boolean beforeEventFlag = beforeStatusChange(deviceStatusChangeDTO); Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFlag > 0) { + if (updateFlag > 0 && beforeEventFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -181,8 +186,9 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); +// queryWrapper.ne("order_id", deviceStatusChangeDTO.getOrderId()); BusinessLabExecutiveInfo businessLabExecutiveInfo = new BusinessLabExecutiveInfo(); - businessLabExecutiveInfo.setMeasureStatus(deviceStatusChangeDTO.getStatus()); +// businessLabExecutiveInfo.setMeasureStatus(); businessLabExecutiveInfo.setRemark(deviceStatusChangeDTO.getReason()); labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } @@ -214,6 +220,9 @@ return handOutLabExecutiveDTOOptional.orElse(null); } + /** + * 构建证书的查询条件 + */ private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("order_id", dispatchVO.getOrderId()); @@ -230,7 +239,8 @@ queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); if (terminateFlag) { - queryWrapper.eq("sample_status", "2").or().eq("sample_status", "3").or().eq("sample_status", "4"); + //若是终止,需要对应待分发、检测中、检测完三个状态的变更 + queryWrapper.eq("sample_status", TO_HANDOUT).or().eq("sample_status", IN_MEASURE).or().eq("sample_status", MEASURE_COMPLETE); } BusinessOrderSampleRelation businessOrderSampleRelation = new BusinessOrderSampleRelation(); businessOrderSampleRelation.setSampleStatus(statusChangeDTO.getStatus()); @@ -238,12 +248,12 @@ } /** - * 判断不是自检 + * 判断不是自检,即外包和外检,进行环节设定 */ private boolean notSelfMeasure(DeviceDispatchVO dispatchVO) { if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType())) { - if (MeasureStatusEnum.TO_ALLOCATE.equals(String.valueOf(dispatchVO.getMeasureType())) || MeasureStatusEnum.TO_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { - String currentSegment = MeasureStatusEnum.TO_ALLOCATE.equals(dispatchVO.getMeasureType()) ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; + if (OTHERS_UNDERTAKE.equals(String.valueOf(dispatchVO.getMeasureType())) || OUTSIDE_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { + String currentSegment = OTHERS_UNDERTAKE.equals(dispatchVO.getMeasureType()) ? OUT_UNDERTAKE : OUT_MESASUR; dispatchVO.setCurrentSegment(currentSegment); return true; } @@ -251,6 +261,9 @@ return false; } + /** + * 其他条件的置为空 + */ private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { request.setSampleName(null); request.setSampleNo(null); @@ -264,18 +277,38 @@ } /** - * 判断样品是完成或接收状态,直接显示即可 + * 判断样品是完成或接收状态,进行当前阶段环节的设置 */ private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { - if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + if (TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_INCOME); return true; } - if (SampleStatusEnum.TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); + if (TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_ALLOCATE); return true; } return false; } + private boolean beforeStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(TO_INCOME)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + List orderSampleRelationList = this.orderSampleRelationMapper.selectList(queryWrapper); + Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); + if (orderSampleRelationOptional.isPresent()) { + BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); + if (businessOrderSampleRelation.getSampleStatus().equals(TO_ALLOCATE)) { + BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); + businessOrderSample.setRealDeliverTime(DateUtil.format(new Date(), "yyyy-MM-dd")); + int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); + return updateFlag > 0 ? true : false; + } + } + } + return true; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java index 4f06678..e2fea21 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerAdviceMapper; import com.casic.missiles.mapper.customer.CustomerMapper; @@ -34,7 +35,7 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerAdviceServiceImpl implements CustomerAdviceService { +public class CustomerAdviceServiceImpl implements CustomerAdviceService,PrefixCodeEnum { private final CustomerAdviceMapper customerAdviceMapper; private final IBaseExportService iBaseExportService; @@ -122,7 +123,7 @@ private void initCustomerAdviceInfo(CustomerAdviceInfo customerAdviceInfo) { Long maxNo = customerAdviceMapper.selectMaxAdviceNo(); - String adviceNo = NumberGeneratorUtil.getContactNo("khjy", maxNo); + String adviceNo = NumberGeneratorUtil.getContactNo(CUSTOMER_ADVICE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerAdviceInfo.setCreateUser(authUser.getId()); customerAdviceInfo.setUpdateUser(authUser.getId()); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java new file mode 100644 index 0000000..e196dda --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Builder; +import lombok.Data; + +/** + * @author cz + */ +@Data +@Builder +public class NotifyEventStatusDTO { + + /** + * 业务表主键 + */ + private String id; + /** + * 业务表状态 + */ + private String status; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java index 65c19e3..0f3e84f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java @@ -74,7 +74,7 @@ /** * 部门/科室/工程组名称 */ - @ExcelProperty("组织编号") + @ExcelProperty("组织名称") @ApiModelProperty(value = "计量组织名称", dataType = "String", required = true) @NotBlank(message = "计量组织名称不能为空") @TableField("organize_name") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java index 54dc5cd..244e431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java @@ -84,7 +84,7 @@ * 签名用户id(一个用户一个签名,签名不使用关联表,签章暂时使用和使用人的关联表) */ @TableField("sign_user_id") - private String signUserId; + private Long signUserId; /** * 签章或签名-字典code diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java index ca20ca4..0e94b9e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 2f97cb3..fdc4bf0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -3,7 +3,6 @@ import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -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; @@ -17,9 +16,10 @@ import com.casic.missiles.dto.flowable.ApprovalAgreeRequest; import com.casic.missiles.dto.flowable.ApprovalRefuseRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -42,10 +42,9 @@ */ @Service @AllArgsConstructor -public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { +public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService, CertificatePrintStatusEnum { private final IBaseApprovalService baseApprovalService; - private final AbstractDictService dictService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; @@ -86,7 +85,7 @@ } /** - * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 * * @return */ @@ -103,7 +102,7 @@ BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); //设置为不能打印 - certificateReport.setPrintStatus("2"); + certificateReport.setPrintStatus(NON_PRINTABLE); certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { @@ -113,7 +112,7 @@ } /** - * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 */ @Transactional @Override @@ -128,7 +127,7 @@ //审批状态为审批中 certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //打印状态审批中 - certificateReport.setPrintStatus("3"); + certificateReport.setPrintStatus(IN_APPROVAL); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -142,7 +141,7 @@ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)&&CollectionUtils.isEmpty(request.getIds())) { - handlerBeApproved(approvalList, page, request); + approvalList=handlerBeApproved(approvalList, page, request); }else { approvalList=this.baseMapper.selectBatchForApprovalList(page, request, null); } 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 d03ab22..164c53a 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,17 +7,22 @@ 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.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; -import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +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.MonitorCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -26,9 +31,9 @@ import com.casic.missiles.service.business.IBusinessCertificateReportService; import com.casic.missiles.service.business.IBusinessOriginalRecordService; import com.casic.missiles.service.flowable.ApprovalOperateService; -import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; +import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.runtime.ProcessInstance; @@ -68,8 +73,10 @@ private RuntimeService runtimeService; @Resource private IBaseExportService iBaseExportService; + /** * 保存证书报告信息 + * * @param certificateReport * @return */ @@ -77,7 +84,7 @@ public ReturnDTO saveCertificateReport(BusinessCertificateReport certificateReport) { initCertificateReport(certificateReport); - if(this.baseMapper.insert(certificateReport)>0) + if (this.baseMapper.insert(certificateReport) > 0) return ReturnUtil.success(); throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -90,9 +97,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //删除数据库记录 - if(this.baseMapper.deleteById(request.getId()) > 0){ + if (this.baseMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -101,7 +108,7 @@ @Override public ReturnDTO draftUpdate(BusinessCertificateReport certificateReport) { - if(this.baseMapper.updateById(certificateReport)>0){ + if (this.baseMapper.updateById(certificateReport) > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -109,25 +116,27 @@ /** * 批量删除 + * * @param ids * @return */ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - return baseMapper.deleteBatchIds(ids) > 0?ReturnUtil.success(): + return baseMapper.deleteBatchIds(ids) > 0 ? ReturnUtil.success() : ReturnUtil.failed("删除失败"); } /** * 证书报告详情 + * * @param id * @return */ @Override public BusinessCertificateReport certificateReportDetail(Long id) { BusinessCertificateReport certificateReport = this.baseMapper.selectById(id); - if(certificateReport.getOriginalRecordId()!=null){ + if (certificateReport.getOriginalRecordId() != null) { try { certificateReport.setBusinessOriginalRecord(originalRecordService.originalDetail(certificateReport.getOriginalRecordId())); } catch (Exception e) { @@ -139,6 +148,7 @@ /** * 提交证书报告 + * * @param request * @return */ @@ -148,10 +158,10 @@ String formId = request.getFormId(); //2.根据流程定义id启动流程实例 ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); certificateReport.setApprovalStatus(ApprovalStatusEnum.UN_DRAFT); //非草稿状态 @@ -165,6 +175,7 @@ /** * 审批状态列表查询 + * * @param page * @param request * @return @@ -182,6 +193,7 @@ /** * 驳回后更新 + * * @param certificateReport * @return */ @@ -208,13 +220,14 @@ @Override public void originExport(CertificateReportApprovalRequest request, HttpServletResponse response) { try { - //toDo: -// List certificateReportResponses = this.certificateReport(request); -// for (OriginRecordResponse originRecordResponse : originExportList) { -// //字典值转换 -// DictCodeUtils.convertDictCodeToName(originRecordResponse); -// } -// iBaseExportService.exportExcel(response, CertificateReportResponse.class, originExportList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); + //登录用户 + AuthUser user = ShiroKit.getUser(); + Assert.isFalse(Objects.isNull(user), () -> { + throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); + }); + request.setCreateUserId(user.getId()); + List reportResponseList = handleApprovalStatus(null, request); + iBaseExportService.exportExcel(response, CertificateReportResponse.class, reportResponseList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); } catch (Exception e) { log.error("证书报告导出出现异常,异常信息为{}", e); } @@ -231,15 +244,15 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -251,27 +264,27 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ - approvalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); + if (!CollectionUtils.isEmpty(businessKeys)) { + approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ - rejectApprovalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { + rejectApprovalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -279,7 +292,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.CANCELED); } break; @@ -288,10 +301,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleAllApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), AllApproveList); } break; @@ -299,9 +312,26 @@ return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List allApproveList) { - Map taskMap = new HashMap<>(); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + /** + * 客户、样品详情列表 + */ + @Override + public Page certificateRecordsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception { + Page page = PageFactory.defaultPage(); + Page certificateResponsePage = this.baseMapper.certificateRecordsById(page, customerSampleIdRequest); + for (CertificationResponse customerSampleListResponse : certificateResponsePage.getRecords()) { + if (!StringUtils.isEmpty(customerSampleListResponse.getCertificationClass())) { + DictCodeUtils.convertDictMultiCodeToName(customerSampleListResponse); + } + } + return certificateResponsePage; + } + + private List handleAllApprovalListResponse(List approvalList, List allApproveList) { + Map taskMap = new HashMap<>(); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -313,7 +343,7 @@ return approvalList.stream().sorted(Comparator.comparing(CertificateReportResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, String status){ + private List handleApprovalListResponse(List approvalList, String status) { approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); @@ -324,14 +354,14 @@ private void initCertificateReport(BusinessCertificateReport certificateReport) { String prefix = MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue() - +DateUtil.format(new Date(),"YYYYMM"); + + DateUtil.format(new Date(), "YYYYMM"); Long maxNo = this.baseMapper.selectMaxCode(prefix); //生成证书编号 - String certificateReportNo =NumberGeneratorUtil.getCode( - MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(),maxNo); + String certificateReportNo = NumberGeneratorUtil.getCode( + MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(), maxNo); AuthUser authUser = ShiroKit.getUser(); certificateReport.setCreateUser(authUser.getId()); - certificateReport.setMeasurePersonId(authUser.getId()+""); + certificateReport.setMeasurePersonId(authUser.getId() + ""); certificateReport.setMeasureDeptId(authUser.getDeptId()); certificateReport.setCertificateReportCode(certificateReportNo); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index c4ed5f6..5456773 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -12,13 +12,12 @@ import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; import com.casic.missiles.mapper.business.EnvironmentListResponseMapper; import com.casic.missiles.model.business.BusinessEnvironmentRecord; -import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 859010b..0d847a0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessInterchangeMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; @@ -35,7 +36,7 @@ * 业务管理-设备交接单 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @@ -83,7 +84,7 @@ } /** - * 更新不对样品有任何操作 + * 更新只是交接单的变更,没有任何其他单位的变化 */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { @@ -94,6 +95,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 交接单新增,同时在样品委托书管理表中新增交接单记录id + */ @Override @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { @@ -111,6 +115,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 选中判断ids存在,进行其他条件的清空 + */ @Override public void exportExchange(InterchangeListRequest request, HttpServletResponse response) { try { @@ -153,7 +160,7 @@ private void populationExchange(BusinessInterchange businessInterchange) { Long maxNo = this.baseMapper.selectMaxExchangeNo(); - String orderNo = NumberGeneratorUtil.getContactNo("jjdh", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.INTER_CHANGE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessInterchange.setCreateUser(authUser.getId()); businessInterchange.setInterchangeCode(orderNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java index 585a207..955cc7a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java @@ -13,19 +13,18 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.*; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.HandOutPropertyEnum; -import com.casic.missiles.enums.MeasureStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.HandOutPropertyEnum; +import com.casic.missiles.enums.business.MeasureStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.*; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; -import com.casic.missiles.model.business.BusinessLabExecutiveInfo; -import com.casic.missiles.model.business.BusinessLabExecutiveOperateLog; -import com.casic.missiles.model.business.BusinessLabExecutiveTemplateInfo; +import com.casic.missiles.model.business.*; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; import com.casic.missiles.service.business.IBusinessLabExecutiveTemplateInfoService; @@ -71,6 +70,8 @@ private AbstractDictService dictService; @Autowired private MeterStaffMapper staffMapper; + @Autowired + private BusinessOrderMapper orderMapper; @Override public Page handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) throws Exception{ @@ -377,7 +378,9 @@ if(CollectionUtils.isEmpty(unExecutiveInfos)){ //更新样品状态为检测完 orderSampleRelationMapper.updateByOrderIdAndSampleId(pre.getOrderId(), pre.getSampleId(), SampleStatusEnum.MEASURE_COMPLETE); - // TODO: 2023/2/17 委托书中所有样品检测完更新委托书接收状态为检测完成,需求待定 + + //委托书中所有样品检测完更新委托书接收状态为检测完成,未检测完的数量为0则表示全部检完 + updateOrderStatusComplete(pre); //将检测记录加入到实验室检测模板(仅全部为检测完成的才加入到模板,包含终止的不会加入) List labList = new ArrayList<>(); @@ -407,9 +410,27 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + @Transactional + public void updateOrderStatusComplete(SampleOperateRequest pre) { + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("order_id", pre.getOrderId()); + List statusList = new ArrayList<>(); + statusList.add(SampleStatusEnum.TO_RECEIVE); + statusList.add(SampleStatusEnum.TO_HANDOUT); + statusList.add(SampleStatusEnum.IN_MEASURE); + wrapper1.in("sample_status", statusList); + //同一事务中可查到更新后的数量 + if(orderSampleRelationMapper.selectCount(wrapper1) == 0){ + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(pre.getOrderId()); + businessOrder.setStatus(OrderStatusEnum.COMPLETE); + orderMapper.updateById(businessOrder); + } + } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + String templateCode = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.LAB_EXECUTIVE_TEMPLATE_PREFIX, maxNo + i); templateInfo.setTemplateCode(templateCode); // templateInfo.setSampleTypeId(); templateInfo.setSampleId(lab.getSampleId()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index f5c6f61..1d63554 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -14,6 +14,10 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; +import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; @@ -35,7 +39,6 @@ import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -45,12 +48,12 @@ * 业务管理-委托书 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @AllArgsConstructor -public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { +public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService,PrefixCodeEnum, OrderStatusEnum,SampleStatusEnum, MeasureTypeEnum { private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; @@ -90,8 +93,10 @@ List customerSampleList = new ArrayList<>(); for (BusinessOrderSampleRelation orderSample : orderSampleList) { CustomerSampleInfo customerSampleInfo = customerSampleService.sampleDetail(orderSample.getSampleId()); - customerSampleInfo.setIsExistSample("1"); - customerSampleList.add(customerSampleInfo); + if (null != customerSampleInfo) { + customerSampleInfo.setIsExistSample("1"); + customerSampleList.add(customerSampleInfo); + } } businessOrder.setCustomerSampleInfoList(customerSampleList); return businessOrder; @@ -202,7 +207,13 @@ @Override public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); - String dealType = "委托书" + ((status.equals("2")) ? "接收" : "退回"); + String dealType = ""; + if (status.equals(ALREADY_RECEIVED)) { + dealType = "委托书接收" ; + doUpdateSampleStatus(orderCancelRequest.getId(),TO_RECEIVE); + } else { + dealType = "委托书退回"; + } int addDealRecordFlag = addDealRecord(orderCancelRequest, dealType); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -216,7 +227,7 @@ @Override @Transactional public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { - int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), ALREADY_CANCEL); int addDealRecordFlag = addDealRecord(orderCancelRequest, "委托书取消"); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -250,6 +261,7 @@ return dealRecordMapper.insert(businessDealRecord); } + /** * 强调正在做状态更新 */ @@ -280,12 +292,12 @@ private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); - String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(ORDER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); - businessOrder.setStatus("1"); + businessOrder.setStatus(NOT_RECEIVED); } /** @@ -320,10 +332,23 @@ sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); - sampleStatusPopulation.setMeasureType("1"); + sampleStatusPopulation.setMeasureType(INSIDE_MEASURE); return this.sampleRelationMapper.insert(sampleStatusPopulation); } + /** + * 强调正在做状态更新 + */ + private int doUpdateSampleStatus(Long orderId, String sampleStatus) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", orderId); + BusinessOrderSampleRelation orderSample = new BusinessOrderSampleRelation(); + orderSample.setId(orderId); + orderSample.setSampleStatus(sampleStatus); + return this.sampleRelationMapper.update(orderSample, queryWrapper); + } + + private void doSampleListPopulation(BusinessOrder businessOrder) { businessOrder.getCustomerSampleInfoList().forEach( customerSampleInfo -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java index 1e35b7a..1c602b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java @@ -131,7 +131,7 @@ @Override public ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord) { - if (this.baseMapper.insert(businessOriginalRecord) > 0) { + if (this.baseMapper.updateById(businessOriginalRecord) > 0) { //加入技术文件绑定 if (ObjectUtil.isNotEmpty(businessOriginalRecord.getFileList()) && businessOriginalRecord.getFileList().size() > 0) { originalRecordFileRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getFileList()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java index 07c88e9..c9c1902 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.date.DateUtil; import com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -14,6 +15,7 @@ import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; @@ -29,6 +31,7 @@ import org.springframework.util.ObjectUtils; import javax.servlet.http.HttpServletResponse; +import java.util.Date; import java.util.List; import java.util.Objects; import java.util.Optional; @@ -39,7 +42,7 @@ @Service @Slf4j @AllArgsConstructor -public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService { +public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService, SampleStatusEnum, CurrentSegmentEnum, MeasureTypeEnum { private final BusinessOrderSampleRelationMapper orderSampleRelationMapper; private final BusinessCertificateReportMapper certificateReportMapper; @@ -73,20 +76,20 @@ Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.TO_HANDOUT: + case TO_HANDOUT: //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 - case SampleStatusEnum.IN_MEASURE: + case IN_MEASURE: //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.MEASURE_COMPLETE: + case MEASURE_COMPLETE: doDispatchVoPopulation(dispatchVO, sampleId, orderId); return; //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 - case SampleStatusEnum.BE_OVERDUE: + case BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); @@ -126,12 +129,14 @@ /** - * 状态更新 + * 根据sampleId,orderId,进行状态更新 */ @Override + @Transactional public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { + boolean beforeEventFlag = beforeStatusChange(deviceStatusChangeDTO); Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFlag > 0) { + if (updateFlag > 0 && beforeEventFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -181,8 +186,9 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); +// queryWrapper.ne("order_id", deviceStatusChangeDTO.getOrderId()); BusinessLabExecutiveInfo businessLabExecutiveInfo = new BusinessLabExecutiveInfo(); - businessLabExecutiveInfo.setMeasureStatus(deviceStatusChangeDTO.getStatus()); +// businessLabExecutiveInfo.setMeasureStatus(); businessLabExecutiveInfo.setRemark(deviceStatusChangeDTO.getReason()); labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } @@ -214,6 +220,9 @@ return handOutLabExecutiveDTOOptional.orElse(null); } + /** + * 构建证书的查询条件 + */ private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("order_id", dispatchVO.getOrderId()); @@ -230,7 +239,8 @@ queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); if (terminateFlag) { - queryWrapper.eq("sample_status", "2").or().eq("sample_status", "3").or().eq("sample_status", "4"); + //若是终止,需要对应待分发、检测中、检测完三个状态的变更 + queryWrapper.eq("sample_status", TO_HANDOUT).or().eq("sample_status", IN_MEASURE).or().eq("sample_status", MEASURE_COMPLETE); } BusinessOrderSampleRelation businessOrderSampleRelation = new BusinessOrderSampleRelation(); businessOrderSampleRelation.setSampleStatus(statusChangeDTO.getStatus()); @@ -238,12 +248,12 @@ } /** - * 判断不是自检 + * 判断不是自检,即外包和外检,进行环节设定 */ private boolean notSelfMeasure(DeviceDispatchVO dispatchVO) { if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType())) { - if (MeasureStatusEnum.TO_ALLOCATE.equals(String.valueOf(dispatchVO.getMeasureType())) || MeasureStatusEnum.TO_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { - String currentSegment = MeasureStatusEnum.TO_ALLOCATE.equals(dispatchVO.getMeasureType()) ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; + if (OTHERS_UNDERTAKE.equals(String.valueOf(dispatchVO.getMeasureType())) || OUTSIDE_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { + String currentSegment = OTHERS_UNDERTAKE.equals(dispatchVO.getMeasureType()) ? OUT_UNDERTAKE : OUT_MESASUR; dispatchVO.setCurrentSegment(currentSegment); return true; } @@ -251,6 +261,9 @@ return false; } + /** + * 其他条件的置为空 + */ private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { request.setSampleName(null); request.setSampleNo(null); @@ -264,18 +277,38 @@ } /** - * 判断样品是完成或接收状态,直接显示即可 + * 判断样品是完成或接收状态,进行当前阶段环节的设置 */ private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { - if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + if (TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_INCOME); return true; } - if (SampleStatusEnum.TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); + if (TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_ALLOCATE); return true; } return false; } + private boolean beforeStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(TO_INCOME)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + List orderSampleRelationList = this.orderSampleRelationMapper.selectList(queryWrapper); + Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); + if (orderSampleRelationOptional.isPresent()) { + BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); + if (businessOrderSampleRelation.getSampleStatus().equals(TO_ALLOCATE)) { + BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); + businessOrderSample.setRealDeliverTime(DateUtil.format(new Date(), "yyyy-MM-dd")); + int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); + return updateFlag > 0 ? true : false; + } + } + } + return true; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java index 4f06678..e2fea21 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerAdviceMapper; import com.casic.missiles.mapper.customer.CustomerMapper; @@ -34,7 +35,7 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerAdviceServiceImpl implements CustomerAdviceService { +public class CustomerAdviceServiceImpl implements CustomerAdviceService,PrefixCodeEnum { private final CustomerAdviceMapper customerAdviceMapper; private final IBaseExportService iBaseExportService; @@ -122,7 +123,7 @@ private void initCustomerAdviceInfo(CustomerAdviceInfo customerAdviceInfo) { Long maxNo = customerAdviceMapper.selectMaxAdviceNo(); - String adviceNo = NumberGeneratorUtil.getContactNo("khjy", maxNo); + String adviceNo = NumberGeneratorUtil.getContactNo(CUSTOMER_ADVICE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerAdviceInfo.setCreateUser(authUser.getId()); customerAdviceInfo.setUpdateUser(authUser.getId()); 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 4889e55..f9747dd 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 @@ -10,18 +10,19 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.sample.CertificationExpireStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; import com.casic.missiles.mapper.customer.CustomerMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerSampleListResponseMapper; import com.casic.missiles.mapper.customer.CustomerSampleMapper; -import com.casic.missiles.mapper.customer.customize.MesureRecordsResponseMapper; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -42,13 +43,11 @@ @Service @AllArgsConstructor -public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService { +public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService, CertificationExpireStatusEnum,PrefixCodeEnum{ private final CustomerSampleListResponseMapper customerSampleListResponseMapper; private final CustomerMapper customerMapper; private final IBaseExportService iBaseExportService; - private final CertificationResponseMapper certificationResponseMapper; - private final MesureRecordsResponseMapper mesureResponseMapper; private final BusinessOrderSampleRelationMapper sampleRelationMapper; @Override @@ -58,14 +57,14 @@ customerSamplePage.getRecords() .forEach(customerSample -> { BusinessOrderSampleRelation businessOrderSampleRelation = this.getSampleStatusById(customerSample.getId()); + customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); - customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); } }); for (CustomerSampleListResponse customerSampleListResponse : customerSamplePage.getRecords()) { - if (!StringUtils.isEmpty(customerSampleListResponse.getSampleSatus())) { + if (!StringUtils.isEmpty(customerSampleListResponse.getSampleStatus())) { DictCodeUtils.convertDictCodeToName(customerSampleListResponse); } } @@ -106,14 +105,13 @@ public CustomerSampleInfo sampleDetail(Long id) { CustomerSampleInfo customerSampleInfo = this.baseMapper.selectById(id); if (!ObjectUtils.isEmpty(customerSampleInfo)) { - doCustomerSampleInfoPopulation(customerSampleInfo); + doPopulateCustomerSampleInfo(customerSampleInfo); } return customerSampleInfo; } /** * 只导出样品列表信息 - * */ @Override public void sampleExport(CustomerSampleListRequest request, HttpServletResponse response) { @@ -135,7 +133,7 @@ BusinessOrderSampleRelation businessOrderSampleRelation = businessOrderMap.get(customerSample.getId()); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); } } @@ -159,26 +157,16 @@ } @Override - public Page measureRecordsBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page measureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); + public Page measureRecordsById(CustomerSampleIdRequest customerSampleIdRequest) { + Page page = PageFactory.defaultPage(); + Page measureRecordsResponsePage = this.baseMapper.measureRecordsById(page, customerSampleIdRequest); return measureRecordsResponsePage; } - @Override - public Page certificationBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page certificateResponsePage = certificationResponseMapper.selectPage(page, wrapper); - return certificateResponsePage; - } @Override - public Page samplesByOderId(Page page,Long orderId, String sampleNo, String sampleName) { - return this.baseMapper.samplesByOderId(page,orderId,sampleNo,sampleName); + public Page samplesByOderId(Page page, Long orderId, String sampleNo, String sampleName) { + return this.baseMapper.samplesByOderId(page, orderId, sampleNo, sampleName); } private BusinessOrderSampleRelation getSampleStatusById(Long sampleId) { @@ -190,9 +178,12 @@ return orderSampleOptional.isPresent() ? orderSampleOptional.get() : null; } + /** + * 初始化样品状态 + */ private void initSample(CustomerSampleInfo customerSampleInfo) { Long maxNo = this.baseMapper.selectMaxSampleNo(); - String sampleNo = NumberGeneratorUtil.getContactNo("khyp", maxNo); + String sampleNo = NumberGeneratorUtil.getContactNo(SAMPLE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setSampleNo(sampleNo); customerSampleInfo.setCreateUser(authUser.getId()); @@ -202,7 +193,6 @@ private QueryWrapper listParamWrapper(CustomerSampleListRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.select("id,sample_no,sample_name,sample_model,manufacturing_no,customer_id,measure_period,measure_last_time,remark,valid_deadline"); queryWrapper.like(StringUtils.isNotBlank(request.getSampleNo()), "sample_no", request.getSampleNo()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleName()), "sample_name", request.getSampleName()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleBelong()), "sample_belong", request.getSampleBelong()); @@ -210,9 +200,10 @@ queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); if (!StringUtils.isEmpty(request.getOvertimeStatus())) { - queryWrapper.apply(request.getOvertimeStatus().equals("1"), + queryWrapper.apply("1".equals(request.getOvertimeStatus()), + "sysdate() > DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); - queryWrapper.apply(request.getOvertimeStatus().equals("0"), + queryWrapper.apply("0".equals(request.getOvertimeStatus()), "sysdate() <= DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); } queryWrapper.apply(StringUtils.isNotBlank(request.getStartTime()), @@ -224,24 +215,30 @@ return queryWrapper; } + /** + * 通过证书到期时间进行到期状态的计算 + */ private String calculateCertificationStatus(String validDeadline) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if (StringUtils.isEmpty(validDeadline)) { - return "0"; + return NORMAL; } - if (validDeadline.compareTo(sdf.format(new Date())) > 0) { - return "2"; + if (validDeadline.compareTo(sdf.format(new Date())) < 0) { + return ALREADY_EXPIRE; } Calendar date = Calendar.getInstance(); date.setTime(new Date()); date.add(Calendar.DAY_OF_MONTH, -30); - if (validDeadline.compareTo(sdf.format(date.getTime())) > 0) { - return "1"; + if (validDeadline.compareTo(sdf.format(date.getTime())) < 0) { + return ALMOST_EXPIRE; } - return "0"; + return NORMAL; } - private void doCustomerSampleInfoPopulation(CustomerSampleInfo customerSampleInfo) { + /** + * 对样品列表的进行供应商联系方式的填充 + */ + private void doPopulateCustomerSampleInfo(CustomerSampleInfo customerSampleInfo) { CustomerInfo customerInfo = customerMapper.selectById(customerSampleInfo.getCustomerId()); if (!ObjectUtils.isEmpty(customerInfo)) { customerSampleInfo.setPhone(customerInfo.getPhone()); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java new file mode 100644 index 0000000..e196dda --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Builder; +import lombok.Data; + +/** + * @author cz + */ +@Data +@Builder +public class NotifyEventStatusDTO { + + /** + * 业务表主键 + */ + private String id; + /** + * 业务表状态 + */ + private String status; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java index 65c19e3..0f3e84f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java @@ -74,7 +74,7 @@ /** * 部门/科室/工程组名称 */ - @ExcelProperty("组织编号") + @ExcelProperty("组织名称") @ApiModelProperty(value = "计量组织名称", dataType = "String", required = true) @NotBlank(message = "计量组织名称不能为空") @TableField("organize_name") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java index 54dc5cd..244e431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java @@ -84,7 +84,7 @@ * 签名用户id(一个用户一个签名,签名不使用关联表,签章暂时使用和使用人的关联表) */ @TableField("sign_user_id") - private String signUserId; + private Long signUserId; /** * 签章或签名-字典code diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java index ca20ca4..0e94b9e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 2f97cb3..fdc4bf0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -3,7 +3,6 @@ import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -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; @@ -17,9 +16,10 @@ import com.casic.missiles.dto.flowable.ApprovalAgreeRequest; import com.casic.missiles.dto.flowable.ApprovalRefuseRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -42,10 +42,9 @@ */ @Service @AllArgsConstructor -public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { +public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService, CertificatePrintStatusEnum { private final IBaseApprovalService baseApprovalService; - private final AbstractDictService dictService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; @@ -86,7 +85,7 @@ } /** - * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 * * @return */ @@ -103,7 +102,7 @@ BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); //设置为不能打印 - certificateReport.setPrintStatus("2"); + certificateReport.setPrintStatus(NON_PRINTABLE); certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { @@ -113,7 +112,7 @@ } /** - * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 */ @Transactional @Override @@ -128,7 +127,7 @@ //审批状态为审批中 certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //打印状态审批中 - certificateReport.setPrintStatus("3"); + certificateReport.setPrintStatus(IN_APPROVAL); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -142,7 +141,7 @@ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)&&CollectionUtils.isEmpty(request.getIds())) { - handlerBeApproved(approvalList, page, request); + approvalList=handlerBeApproved(approvalList, page, request); }else { approvalList=this.baseMapper.selectBatchForApprovalList(page, request, null); } 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 d03ab22..164c53a 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,17 +7,22 @@ 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.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; -import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +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.MonitorCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -26,9 +31,9 @@ import com.casic.missiles.service.business.IBusinessCertificateReportService; import com.casic.missiles.service.business.IBusinessOriginalRecordService; import com.casic.missiles.service.flowable.ApprovalOperateService; -import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; +import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.runtime.ProcessInstance; @@ -68,8 +73,10 @@ private RuntimeService runtimeService; @Resource private IBaseExportService iBaseExportService; + /** * 保存证书报告信息 + * * @param certificateReport * @return */ @@ -77,7 +84,7 @@ public ReturnDTO saveCertificateReport(BusinessCertificateReport certificateReport) { initCertificateReport(certificateReport); - if(this.baseMapper.insert(certificateReport)>0) + if (this.baseMapper.insert(certificateReport) > 0) return ReturnUtil.success(); throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -90,9 +97,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //删除数据库记录 - if(this.baseMapper.deleteById(request.getId()) > 0){ + if (this.baseMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -101,7 +108,7 @@ @Override public ReturnDTO draftUpdate(BusinessCertificateReport certificateReport) { - if(this.baseMapper.updateById(certificateReport)>0){ + if (this.baseMapper.updateById(certificateReport) > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -109,25 +116,27 @@ /** * 批量删除 + * * @param ids * @return */ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - return baseMapper.deleteBatchIds(ids) > 0?ReturnUtil.success(): + return baseMapper.deleteBatchIds(ids) > 0 ? ReturnUtil.success() : ReturnUtil.failed("删除失败"); } /** * 证书报告详情 + * * @param id * @return */ @Override public BusinessCertificateReport certificateReportDetail(Long id) { BusinessCertificateReport certificateReport = this.baseMapper.selectById(id); - if(certificateReport.getOriginalRecordId()!=null){ + if (certificateReport.getOriginalRecordId() != null) { try { certificateReport.setBusinessOriginalRecord(originalRecordService.originalDetail(certificateReport.getOriginalRecordId())); } catch (Exception e) { @@ -139,6 +148,7 @@ /** * 提交证书报告 + * * @param request * @return */ @@ -148,10 +158,10 @@ String formId = request.getFormId(); //2.根据流程定义id启动流程实例 ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); certificateReport.setApprovalStatus(ApprovalStatusEnum.UN_DRAFT); //非草稿状态 @@ -165,6 +175,7 @@ /** * 审批状态列表查询 + * * @param page * @param request * @return @@ -182,6 +193,7 @@ /** * 驳回后更新 + * * @param certificateReport * @return */ @@ -208,13 +220,14 @@ @Override public void originExport(CertificateReportApprovalRequest request, HttpServletResponse response) { try { - //toDo: -// List certificateReportResponses = this.certificateReport(request); -// for (OriginRecordResponse originRecordResponse : originExportList) { -// //字典值转换 -// DictCodeUtils.convertDictCodeToName(originRecordResponse); -// } -// iBaseExportService.exportExcel(response, CertificateReportResponse.class, originExportList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); + //登录用户 + AuthUser user = ShiroKit.getUser(); + Assert.isFalse(Objects.isNull(user), () -> { + throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); + }); + request.setCreateUserId(user.getId()); + List reportResponseList = handleApprovalStatus(null, request); + iBaseExportService.exportExcel(response, CertificateReportResponse.class, reportResponseList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); } catch (Exception e) { log.error("证书报告导出出现异常,异常信息为{}", e); } @@ -231,15 +244,15 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -251,27 +264,27 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ - approvalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); + if (!CollectionUtils.isEmpty(businessKeys)) { + approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ - rejectApprovalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { + rejectApprovalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -279,7 +292,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.CANCELED); } break; @@ -288,10 +301,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleAllApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), AllApproveList); } break; @@ -299,9 +312,26 @@ return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List allApproveList) { - Map taskMap = new HashMap<>(); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + /** + * 客户、样品详情列表 + */ + @Override + public Page certificateRecordsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception { + Page page = PageFactory.defaultPage(); + Page certificateResponsePage = this.baseMapper.certificateRecordsById(page, customerSampleIdRequest); + for (CertificationResponse customerSampleListResponse : certificateResponsePage.getRecords()) { + if (!StringUtils.isEmpty(customerSampleListResponse.getCertificationClass())) { + DictCodeUtils.convertDictMultiCodeToName(customerSampleListResponse); + } + } + return certificateResponsePage; + } + + private List handleAllApprovalListResponse(List approvalList, List allApproveList) { + Map taskMap = new HashMap<>(); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -313,7 +343,7 @@ return approvalList.stream().sorted(Comparator.comparing(CertificateReportResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, String status){ + private List handleApprovalListResponse(List approvalList, String status) { approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); @@ -324,14 +354,14 @@ private void initCertificateReport(BusinessCertificateReport certificateReport) { String prefix = MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue() - +DateUtil.format(new Date(),"YYYYMM"); + + DateUtil.format(new Date(), "YYYYMM"); Long maxNo = this.baseMapper.selectMaxCode(prefix); //生成证书编号 - String certificateReportNo =NumberGeneratorUtil.getCode( - MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(),maxNo); + String certificateReportNo = NumberGeneratorUtil.getCode( + MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(), maxNo); AuthUser authUser = ShiroKit.getUser(); certificateReport.setCreateUser(authUser.getId()); - certificateReport.setMeasurePersonId(authUser.getId()+""); + certificateReport.setMeasurePersonId(authUser.getId() + ""); certificateReport.setMeasureDeptId(authUser.getDeptId()); certificateReport.setCertificateReportCode(certificateReportNo); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index c4ed5f6..5456773 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -12,13 +12,12 @@ import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; import com.casic.missiles.mapper.business.EnvironmentListResponseMapper; import com.casic.missiles.model.business.BusinessEnvironmentRecord; -import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 859010b..0d847a0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessInterchangeMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; @@ -35,7 +36,7 @@ * 业务管理-设备交接单 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @@ -83,7 +84,7 @@ } /** - * 更新不对样品有任何操作 + * 更新只是交接单的变更,没有任何其他单位的变化 */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { @@ -94,6 +95,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 交接单新增,同时在样品委托书管理表中新增交接单记录id + */ @Override @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { @@ -111,6 +115,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 选中判断ids存在,进行其他条件的清空 + */ @Override public void exportExchange(InterchangeListRequest request, HttpServletResponse response) { try { @@ -153,7 +160,7 @@ private void populationExchange(BusinessInterchange businessInterchange) { Long maxNo = this.baseMapper.selectMaxExchangeNo(); - String orderNo = NumberGeneratorUtil.getContactNo("jjdh", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.INTER_CHANGE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessInterchange.setCreateUser(authUser.getId()); businessInterchange.setInterchangeCode(orderNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java index 585a207..955cc7a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java @@ -13,19 +13,18 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.*; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.HandOutPropertyEnum; -import com.casic.missiles.enums.MeasureStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.HandOutPropertyEnum; +import com.casic.missiles.enums.business.MeasureStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.*; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; -import com.casic.missiles.model.business.BusinessLabExecutiveInfo; -import com.casic.missiles.model.business.BusinessLabExecutiveOperateLog; -import com.casic.missiles.model.business.BusinessLabExecutiveTemplateInfo; +import com.casic.missiles.model.business.*; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; import com.casic.missiles.service.business.IBusinessLabExecutiveTemplateInfoService; @@ -71,6 +70,8 @@ private AbstractDictService dictService; @Autowired private MeterStaffMapper staffMapper; + @Autowired + private BusinessOrderMapper orderMapper; @Override public Page handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) throws Exception{ @@ -377,7 +378,9 @@ if(CollectionUtils.isEmpty(unExecutiveInfos)){ //更新样品状态为检测完 orderSampleRelationMapper.updateByOrderIdAndSampleId(pre.getOrderId(), pre.getSampleId(), SampleStatusEnum.MEASURE_COMPLETE); - // TODO: 2023/2/17 委托书中所有样品检测完更新委托书接收状态为检测完成,需求待定 + + //委托书中所有样品检测完更新委托书接收状态为检测完成,未检测完的数量为0则表示全部检完 + updateOrderStatusComplete(pre); //将检测记录加入到实验室检测模板(仅全部为检测完成的才加入到模板,包含终止的不会加入) List labList = new ArrayList<>(); @@ -407,9 +410,27 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + @Transactional + public void updateOrderStatusComplete(SampleOperateRequest pre) { + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("order_id", pre.getOrderId()); + List statusList = new ArrayList<>(); + statusList.add(SampleStatusEnum.TO_RECEIVE); + statusList.add(SampleStatusEnum.TO_HANDOUT); + statusList.add(SampleStatusEnum.IN_MEASURE); + wrapper1.in("sample_status", statusList); + //同一事务中可查到更新后的数量 + if(orderSampleRelationMapper.selectCount(wrapper1) == 0){ + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(pre.getOrderId()); + businessOrder.setStatus(OrderStatusEnum.COMPLETE); + orderMapper.updateById(businessOrder); + } + } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + String templateCode = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.LAB_EXECUTIVE_TEMPLATE_PREFIX, maxNo + i); templateInfo.setTemplateCode(templateCode); // templateInfo.setSampleTypeId(); templateInfo.setSampleId(lab.getSampleId()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index f5c6f61..1d63554 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -14,6 +14,10 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; +import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; @@ -35,7 +39,6 @@ import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -45,12 +48,12 @@ * 业务管理-委托书 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @AllArgsConstructor -public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { +public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService,PrefixCodeEnum, OrderStatusEnum,SampleStatusEnum, MeasureTypeEnum { private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; @@ -90,8 +93,10 @@ List customerSampleList = new ArrayList<>(); for (BusinessOrderSampleRelation orderSample : orderSampleList) { CustomerSampleInfo customerSampleInfo = customerSampleService.sampleDetail(orderSample.getSampleId()); - customerSampleInfo.setIsExistSample("1"); - customerSampleList.add(customerSampleInfo); + if (null != customerSampleInfo) { + customerSampleInfo.setIsExistSample("1"); + customerSampleList.add(customerSampleInfo); + } } businessOrder.setCustomerSampleInfoList(customerSampleList); return businessOrder; @@ -202,7 +207,13 @@ @Override public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); - String dealType = "委托书" + ((status.equals("2")) ? "接收" : "退回"); + String dealType = ""; + if (status.equals(ALREADY_RECEIVED)) { + dealType = "委托书接收" ; + doUpdateSampleStatus(orderCancelRequest.getId(),TO_RECEIVE); + } else { + dealType = "委托书退回"; + } int addDealRecordFlag = addDealRecord(orderCancelRequest, dealType); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -216,7 +227,7 @@ @Override @Transactional public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { - int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), ALREADY_CANCEL); int addDealRecordFlag = addDealRecord(orderCancelRequest, "委托书取消"); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -250,6 +261,7 @@ return dealRecordMapper.insert(businessDealRecord); } + /** * 强调正在做状态更新 */ @@ -280,12 +292,12 @@ private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); - String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(ORDER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); - businessOrder.setStatus("1"); + businessOrder.setStatus(NOT_RECEIVED); } /** @@ -320,10 +332,23 @@ sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); - sampleStatusPopulation.setMeasureType("1"); + sampleStatusPopulation.setMeasureType(INSIDE_MEASURE); return this.sampleRelationMapper.insert(sampleStatusPopulation); } + /** + * 强调正在做状态更新 + */ + private int doUpdateSampleStatus(Long orderId, String sampleStatus) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", orderId); + BusinessOrderSampleRelation orderSample = new BusinessOrderSampleRelation(); + orderSample.setId(orderId); + orderSample.setSampleStatus(sampleStatus); + return this.sampleRelationMapper.update(orderSample, queryWrapper); + } + + private void doSampleListPopulation(BusinessOrder businessOrder) { businessOrder.getCustomerSampleInfoList().forEach( customerSampleInfo -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java index 1e35b7a..1c602b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java @@ -131,7 +131,7 @@ @Override public ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord) { - if (this.baseMapper.insert(businessOriginalRecord) > 0) { + if (this.baseMapper.updateById(businessOriginalRecord) > 0) { //加入技术文件绑定 if (ObjectUtil.isNotEmpty(businessOriginalRecord.getFileList()) && businessOriginalRecord.getFileList().size() > 0) { originalRecordFileRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getFileList()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java index 07c88e9..c9c1902 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.date.DateUtil; import com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -14,6 +15,7 @@ import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; @@ -29,6 +31,7 @@ import org.springframework.util.ObjectUtils; import javax.servlet.http.HttpServletResponse; +import java.util.Date; import java.util.List; import java.util.Objects; import java.util.Optional; @@ -39,7 +42,7 @@ @Service @Slf4j @AllArgsConstructor -public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService { +public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService, SampleStatusEnum, CurrentSegmentEnum, MeasureTypeEnum { private final BusinessOrderSampleRelationMapper orderSampleRelationMapper; private final BusinessCertificateReportMapper certificateReportMapper; @@ -73,20 +76,20 @@ Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.TO_HANDOUT: + case TO_HANDOUT: //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 - case SampleStatusEnum.IN_MEASURE: + case IN_MEASURE: //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.MEASURE_COMPLETE: + case MEASURE_COMPLETE: doDispatchVoPopulation(dispatchVO, sampleId, orderId); return; //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 - case SampleStatusEnum.BE_OVERDUE: + case BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); @@ -126,12 +129,14 @@ /** - * 状态更新 + * 根据sampleId,orderId,进行状态更新 */ @Override + @Transactional public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { + boolean beforeEventFlag = beforeStatusChange(deviceStatusChangeDTO); Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFlag > 0) { + if (updateFlag > 0 && beforeEventFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -181,8 +186,9 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); +// queryWrapper.ne("order_id", deviceStatusChangeDTO.getOrderId()); BusinessLabExecutiveInfo businessLabExecutiveInfo = new BusinessLabExecutiveInfo(); - businessLabExecutiveInfo.setMeasureStatus(deviceStatusChangeDTO.getStatus()); +// businessLabExecutiveInfo.setMeasureStatus(); businessLabExecutiveInfo.setRemark(deviceStatusChangeDTO.getReason()); labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } @@ -214,6 +220,9 @@ return handOutLabExecutiveDTOOptional.orElse(null); } + /** + * 构建证书的查询条件 + */ private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("order_id", dispatchVO.getOrderId()); @@ -230,7 +239,8 @@ queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); if (terminateFlag) { - queryWrapper.eq("sample_status", "2").or().eq("sample_status", "3").or().eq("sample_status", "4"); + //若是终止,需要对应待分发、检测中、检测完三个状态的变更 + queryWrapper.eq("sample_status", TO_HANDOUT).or().eq("sample_status", IN_MEASURE).or().eq("sample_status", MEASURE_COMPLETE); } BusinessOrderSampleRelation businessOrderSampleRelation = new BusinessOrderSampleRelation(); businessOrderSampleRelation.setSampleStatus(statusChangeDTO.getStatus()); @@ -238,12 +248,12 @@ } /** - * 判断不是自检 + * 判断不是自检,即外包和外检,进行环节设定 */ private boolean notSelfMeasure(DeviceDispatchVO dispatchVO) { if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType())) { - if (MeasureStatusEnum.TO_ALLOCATE.equals(String.valueOf(dispatchVO.getMeasureType())) || MeasureStatusEnum.TO_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { - String currentSegment = MeasureStatusEnum.TO_ALLOCATE.equals(dispatchVO.getMeasureType()) ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; + if (OTHERS_UNDERTAKE.equals(String.valueOf(dispatchVO.getMeasureType())) || OUTSIDE_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { + String currentSegment = OTHERS_UNDERTAKE.equals(dispatchVO.getMeasureType()) ? OUT_UNDERTAKE : OUT_MESASUR; dispatchVO.setCurrentSegment(currentSegment); return true; } @@ -251,6 +261,9 @@ return false; } + /** + * 其他条件的置为空 + */ private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { request.setSampleName(null); request.setSampleNo(null); @@ -264,18 +277,38 @@ } /** - * 判断样品是完成或接收状态,直接显示即可 + * 判断样品是完成或接收状态,进行当前阶段环节的设置 */ private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { - if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + if (TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_INCOME); return true; } - if (SampleStatusEnum.TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); + if (TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_ALLOCATE); return true; } return false; } + private boolean beforeStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(TO_INCOME)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + List orderSampleRelationList = this.orderSampleRelationMapper.selectList(queryWrapper); + Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); + if (orderSampleRelationOptional.isPresent()) { + BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); + if (businessOrderSampleRelation.getSampleStatus().equals(TO_ALLOCATE)) { + BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); + businessOrderSample.setRealDeliverTime(DateUtil.format(new Date(), "yyyy-MM-dd")); + int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); + return updateFlag > 0 ? true : false; + } + } + } + return true; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java index 4f06678..e2fea21 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerAdviceMapper; import com.casic.missiles.mapper.customer.CustomerMapper; @@ -34,7 +35,7 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerAdviceServiceImpl implements CustomerAdviceService { +public class CustomerAdviceServiceImpl implements CustomerAdviceService,PrefixCodeEnum { private final CustomerAdviceMapper customerAdviceMapper; private final IBaseExportService iBaseExportService; @@ -122,7 +123,7 @@ private void initCustomerAdviceInfo(CustomerAdviceInfo customerAdviceInfo) { Long maxNo = customerAdviceMapper.selectMaxAdviceNo(); - String adviceNo = NumberGeneratorUtil.getContactNo("khjy", maxNo); + String adviceNo = NumberGeneratorUtil.getContactNo(CUSTOMER_ADVICE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerAdviceInfo.setCreateUser(authUser.getId()); customerAdviceInfo.setUpdateUser(authUser.getId()); 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 4889e55..f9747dd 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 @@ -10,18 +10,19 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.sample.CertificationExpireStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; import com.casic.missiles.mapper.customer.CustomerMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerSampleListResponseMapper; import com.casic.missiles.mapper.customer.CustomerSampleMapper; -import com.casic.missiles.mapper.customer.customize.MesureRecordsResponseMapper; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -42,13 +43,11 @@ @Service @AllArgsConstructor -public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService { +public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService, CertificationExpireStatusEnum,PrefixCodeEnum{ private final CustomerSampleListResponseMapper customerSampleListResponseMapper; private final CustomerMapper customerMapper; private final IBaseExportService iBaseExportService; - private final CertificationResponseMapper certificationResponseMapper; - private final MesureRecordsResponseMapper mesureResponseMapper; private final BusinessOrderSampleRelationMapper sampleRelationMapper; @Override @@ -58,14 +57,14 @@ customerSamplePage.getRecords() .forEach(customerSample -> { BusinessOrderSampleRelation businessOrderSampleRelation = this.getSampleStatusById(customerSample.getId()); + customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); - customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); } }); for (CustomerSampleListResponse customerSampleListResponse : customerSamplePage.getRecords()) { - if (!StringUtils.isEmpty(customerSampleListResponse.getSampleSatus())) { + if (!StringUtils.isEmpty(customerSampleListResponse.getSampleStatus())) { DictCodeUtils.convertDictCodeToName(customerSampleListResponse); } } @@ -106,14 +105,13 @@ public CustomerSampleInfo sampleDetail(Long id) { CustomerSampleInfo customerSampleInfo = this.baseMapper.selectById(id); if (!ObjectUtils.isEmpty(customerSampleInfo)) { - doCustomerSampleInfoPopulation(customerSampleInfo); + doPopulateCustomerSampleInfo(customerSampleInfo); } return customerSampleInfo; } /** * 只导出样品列表信息 - * */ @Override public void sampleExport(CustomerSampleListRequest request, HttpServletResponse response) { @@ -135,7 +133,7 @@ BusinessOrderSampleRelation businessOrderSampleRelation = businessOrderMap.get(customerSample.getId()); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); } } @@ -159,26 +157,16 @@ } @Override - public Page measureRecordsBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page measureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); + public Page measureRecordsById(CustomerSampleIdRequest customerSampleIdRequest) { + Page page = PageFactory.defaultPage(); + Page measureRecordsResponsePage = this.baseMapper.measureRecordsById(page, customerSampleIdRequest); return measureRecordsResponsePage; } - @Override - public Page certificationBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page certificateResponsePage = certificationResponseMapper.selectPage(page, wrapper); - return certificateResponsePage; - } @Override - public Page samplesByOderId(Page page,Long orderId, String sampleNo, String sampleName) { - return this.baseMapper.samplesByOderId(page,orderId,sampleNo,sampleName); + public Page samplesByOderId(Page page, Long orderId, String sampleNo, String sampleName) { + return this.baseMapper.samplesByOderId(page, orderId, sampleNo, sampleName); } private BusinessOrderSampleRelation getSampleStatusById(Long sampleId) { @@ -190,9 +178,12 @@ return orderSampleOptional.isPresent() ? orderSampleOptional.get() : null; } + /** + * 初始化样品状态 + */ private void initSample(CustomerSampleInfo customerSampleInfo) { Long maxNo = this.baseMapper.selectMaxSampleNo(); - String sampleNo = NumberGeneratorUtil.getContactNo("khyp", maxNo); + String sampleNo = NumberGeneratorUtil.getContactNo(SAMPLE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setSampleNo(sampleNo); customerSampleInfo.setCreateUser(authUser.getId()); @@ -202,7 +193,6 @@ private QueryWrapper listParamWrapper(CustomerSampleListRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.select("id,sample_no,sample_name,sample_model,manufacturing_no,customer_id,measure_period,measure_last_time,remark,valid_deadline"); queryWrapper.like(StringUtils.isNotBlank(request.getSampleNo()), "sample_no", request.getSampleNo()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleName()), "sample_name", request.getSampleName()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleBelong()), "sample_belong", request.getSampleBelong()); @@ -210,9 +200,10 @@ queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); if (!StringUtils.isEmpty(request.getOvertimeStatus())) { - queryWrapper.apply(request.getOvertimeStatus().equals("1"), + queryWrapper.apply("1".equals(request.getOvertimeStatus()), + "sysdate() > DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); - queryWrapper.apply(request.getOvertimeStatus().equals("0"), + queryWrapper.apply("0".equals(request.getOvertimeStatus()), "sysdate() <= DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); } queryWrapper.apply(StringUtils.isNotBlank(request.getStartTime()), @@ -224,24 +215,30 @@ return queryWrapper; } + /** + * 通过证书到期时间进行到期状态的计算 + */ private String calculateCertificationStatus(String validDeadline) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if (StringUtils.isEmpty(validDeadline)) { - return "0"; + return NORMAL; } - if (validDeadline.compareTo(sdf.format(new Date())) > 0) { - return "2"; + if (validDeadline.compareTo(sdf.format(new Date())) < 0) { + return ALREADY_EXPIRE; } Calendar date = Calendar.getInstance(); date.setTime(new Date()); date.add(Calendar.DAY_OF_MONTH, -30); - if (validDeadline.compareTo(sdf.format(date.getTime())) > 0) { - return "1"; + if (validDeadline.compareTo(sdf.format(date.getTime())) < 0) { + return ALMOST_EXPIRE; } - return "0"; + return NORMAL; } - private void doCustomerSampleInfoPopulation(CustomerSampleInfo customerSampleInfo) { + /** + * 对样品列表的进行供应商联系方式的填充 + */ + private void doPopulateCustomerSampleInfo(CustomerSampleInfo customerSampleInfo) { CustomerInfo customerInfo = customerMapper.selectById(customerSampleInfo.getCustomerId()); if (!ObjectUtils.isEmpty(customerInfo)) { customerSampleInfo.setPhone(customerInfo.getPhone()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java index 32d4dee..f6e1f8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java @@ -11,13 +11,12 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerMapper; import com.casic.missiles.mapper.customer.CustomerUserMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerInfoResponseMapper; import com.casic.missiles.mapper.customer.customize.SampleRecordsResponseMapper; import com.casic.missiles.model.customer.CustomerInfo; @@ -38,11 +37,10 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerServiceImpl extends ServiceImpl implements CustomerService { +public class CustomerServiceImpl extends ServiceImpl implements CustomerService,PrefixCodeEnum { private final SampleRecordsResponseMapper sampleRecordsResponseMapper; private final CustomerUserMapper customerUserMapper; - private final CertificationResponseMapper certificationMapper; private final IBaseExportService iBaseExportService; private final CustomerInfoResponseMapper customerInfoResponseMapper; @@ -126,18 +124,9 @@ return contractRecordsResponsePage; } - @Override//暂定不做 - public Page mesureRecordsByCustomerId(Long customerId) { - Page measureRecordsResponsePage = PageFactory.defaultPage(); - return measureRecordsResponsePage; - } - @Override public Page certificationByCustomerId(Long customerId) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("customer_id", customerId); - return certificationMapper.selectPage(page, wrapper); + return null; } @Override @@ -163,8 +152,7 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); - queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "bussiness_size", request.getBusinessSize()); - queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); + queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "business_size", request.getBusinessSize()); queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); queryWrapper.eq("is_del", 0); return queryWrapper; @@ -172,7 +160,7 @@ private void initCustomerInfo(CustomerInfo customerInfo) { Long maxNo = this.baseMapper.selectMaxCustomerNo(); - String customerNo = NumberGeneratorUtil.getContactNo("khxx", maxNo); + String customerNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CUSTOMER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerInfo.setCreateUser(authUser.getId()); customerInfo.setUpdateUser(authUser.getId()); @@ -196,7 +184,7 @@ boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { customerUserInfo.setCustomerId(id); - String customerNo = NumberGeneratorUtil.getContactNo("khyh", maxUserNo++); + String customerNo = NumberGeneratorUtil.getContactNo(CUSTOMER_USER_PREFIX, maxUserNo++); customerUserInfo.setUserNo(customerNo); int userAddNum = customerUserMapper.insert(customerUserInfo); if (userAddNum <= 0) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java new file mode 100644 index 0000000..e196dda --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Builder; +import lombok.Data; + +/** + * @author cz + */ +@Data +@Builder +public class NotifyEventStatusDTO { + + /** + * 业务表主键 + */ + private String id; + /** + * 业务表状态 + */ + private String status; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java index 65c19e3..0f3e84f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java @@ -74,7 +74,7 @@ /** * 部门/科室/工程组名称 */ - @ExcelProperty("组织编号") + @ExcelProperty("组织名称") @ApiModelProperty(value = "计量组织名称", dataType = "String", required = true) @NotBlank(message = "计量组织名称不能为空") @TableField("organize_name") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java index 54dc5cd..244e431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java @@ -84,7 +84,7 @@ * 签名用户id(一个用户一个签名,签名不使用关联表,签章暂时使用和使用人的关联表) */ @TableField("sign_user_id") - private String signUserId; + private Long signUserId; /** * 签章或签名-字典code diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java index ca20ca4..0e94b9e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 2f97cb3..fdc4bf0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -3,7 +3,6 @@ import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -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; @@ -17,9 +16,10 @@ import com.casic.missiles.dto.flowable.ApprovalAgreeRequest; import com.casic.missiles.dto.flowable.ApprovalRefuseRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -42,10 +42,9 @@ */ @Service @AllArgsConstructor -public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { +public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService, CertificatePrintStatusEnum { private final IBaseApprovalService baseApprovalService; - private final AbstractDictService dictService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; @@ -86,7 +85,7 @@ } /** - * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 * * @return */ @@ -103,7 +102,7 @@ BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); //设置为不能打印 - certificateReport.setPrintStatus("2"); + certificateReport.setPrintStatus(NON_PRINTABLE); certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { @@ -113,7 +112,7 @@ } /** - * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 */ @Transactional @Override @@ -128,7 +127,7 @@ //审批状态为审批中 certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //打印状态审批中 - certificateReport.setPrintStatus("3"); + certificateReport.setPrintStatus(IN_APPROVAL); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -142,7 +141,7 @@ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)&&CollectionUtils.isEmpty(request.getIds())) { - handlerBeApproved(approvalList, page, request); + approvalList=handlerBeApproved(approvalList, page, request); }else { approvalList=this.baseMapper.selectBatchForApprovalList(page, request, null); } 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 d03ab22..164c53a 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,17 +7,22 @@ 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.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; -import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +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.MonitorCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -26,9 +31,9 @@ import com.casic.missiles.service.business.IBusinessCertificateReportService; import com.casic.missiles.service.business.IBusinessOriginalRecordService; import com.casic.missiles.service.flowable.ApprovalOperateService; -import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; +import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.runtime.ProcessInstance; @@ -68,8 +73,10 @@ private RuntimeService runtimeService; @Resource private IBaseExportService iBaseExportService; + /** * 保存证书报告信息 + * * @param certificateReport * @return */ @@ -77,7 +84,7 @@ public ReturnDTO saveCertificateReport(BusinessCertificateReport certificateReport) { initCertificateReport(certificateReport); - if(this.baseMapper.insert(certificateReport)>0) + if (this.baseMapper.insert(certificateReport) > 0) return ReturnUtil.success(); throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -90,9 +97,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //删除数据库记录 - if(this.baseMapper.deleteById(request.getId()) > 0){ + if (this.baseMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -101,7 +108,7 @@ @Override public ReturnDTO draftUpdate(BusinessCertificateReport certificateReport) { - if(this.baseMapper.updateById(certificateReport)>0){ + if (this.baseMapper.updateById(certificateReport) > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -109,25 +116,27 @@ /** * 批量删除 + * * @param ids * @return */ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - return baseMapper.deleteBatchIds(ids) > 0?ReturnUtil.success(): + return baseMapper.deleteBatchIds(ids) > 0 ? ReturnUtil.success() : ReturnUtil.failed("删除失败"); } /** * 证书报告详情 + * * @param id * @return */ @Override public BusinessCertificateReport certificateReportDetail(Long id) { BusinessCertificateReport certificateReport = this.baseMapper.selectById(id); - if(certificateReport.getOriginalRecordId()!=null){ + if (certificateReport.getOriginalRecordId() != null) { try { certificateReport.setBusinessOriginalRecord(originalRecordService.originalDetail(certificateReport.getOriginalRecordId())); } catch (Exception e) { @@ -139,6 +148,7 @@ /** * 提交证书报告 + * * @param request * @return */ @@ -148,10 +158,10 @@ String formId = request.getFormId(); //2.根据流程定义id启动流程实例 ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); certificateReport.setApprovalStatus(ApprovalStatusEnum.UN_DRAFT); //非草稿状态 @@ -165,6 +175,7 @@ /** * 审批状态列表查询 + * * @param page * @param request * @return @@ -182,6 +193,7 @@ /** * 驳回后更新 + * * @param certificateReport * @return */ @@ -208,13 +220,14 @@ @Override public void originExport(CertificateReportApprovalRequest request, HttpServletResponse response) { try { - //toDo: -// List certificateReportResponses = this.certificateReport(request); -// for (OriginRecordResponse originRecordResponse : originExportList) { -// //字典值转换 -// DictCodeUtils.convertDictCodeToName(originRecordResponse); -// } -// iBaseExportService.exportExcel(response, CertificateReportResponse.class, originExportList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); + //登录用户 + AuthUser user = ShiroKit.getUser(); + Assert.isFalse(Objects.isNull(user), () -> { + throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); + }); + request.setCreateUserId(user.getId()); + List reportResponseList = handleApprovalStatus(null, request); + iBaseExportService.exportExcel(response, CertificateReportResponse.class, reportResponseList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); } catch (Exception e) { log.error("证书报告导出出现异常,异常信息为{}", e); } @@ -231,15 +244,15 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -251,27 +264,27 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ - approvalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); + if (!CollectionUtils.isEmpty(businessKeys)) { + approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ - rejectApprovalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { + rejectApprovalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -279,7 +292,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.CANCELED); } break; @@ -288,10 +301,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleAllApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), AllApproveList); } break; @@ -299,9 +312,26 @@ return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List allApproveList) { - Map taskMap = new HashMap<>(); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + /** + * 客户、样品详情列表 + */ + @Override + public Page certificateRecordsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception { + Page page = PageFactory.defaultPage(); + Page certificateResponsePage = this.baseMapper.certificateRecordsById(page, customerSampleIdRequest); + for (CertificationResponse customerSampleListResponse : certificateResponsePage.getRecords()) { + if (!StringUtils.isEmpty(customerSampleListResponse.getCertificationClass())) { + DictCodeUtils.convertDictMultiCodeToName(customerSampleListResponse); + } + } + return certificateResponsePage; + } + + private List handleAllApprovalListResponse(List approvalList, List allApproveList) { + Map taskMap = new HashMap<>(); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -313,7 +343,7 @@ return approvalList.stream().sorted(Comparator.comparing(CertificateReportResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, String status){ + private List handleApprovalListResponse(List approvalList, String status) { approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); @@ -324,14 +354,14 @@ private void initCertificateReport(BusinessCertificateReport certificateReport) { String prefix = MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue() - +DateUtil.format(new Date(),"YYYYMM"); + + DateUtil.format(new Date(), "YYYYMM"); Long maxNo = this.baseMapper.selectMaxCode(prefix); //生成证书编号 - String certificateReportNo =NumberGeneratorUtil.getCode( - MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(),maxNo); + String certificateReportNo = NumberGeneratorUtil.getCode( + MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(), maxNo); AuthUser authUser = ShiroKit.getUser(); certificateReport.setCreateUser(authUser.getId()); - certificateReport.setMeasurePersonId(authUser.getId()+""); + certificateReport.setMeasurePersonId(authUser.getId() + ""); certificateReport.setMeasureDeptId(authUser.getDeptId()); certificateReport.setCertificateReportCode(certificateReportNo); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index c4ed5f6..5456773 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -12,13 +12,12 @@ import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; import com.casic.missiles.mapper.business.EnvironmentListResponseMapper; import com.casic.missiles.model.business.BusinessEnvironmentRecord; -import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 859010b..0d847a0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessInterchangeMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; @@ -35,7 +36,7 @@ * 业务管理-设备交接单 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @@ -83,7 +84,7 @@ } /** - * 更新不对样品有任何操作 + * 更新只是交接单的变更,没有任何其他单位的变化 */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { @@ -94,6 +95,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 交接单新增,同时在样品委托书管理表中新增交接单记录id + */ @Override @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { @@ -111,6 +115,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 选中判断ids存在,进行其他条件的清空 + */ @Override public void exportExchange(InterchangeListRequest request, HttpServletResponse response) { try { @@ -153,7 +160,7 @@ private void populationExchange(BusinessInterchange businessInterchange) { Long maxNo = this.baseMapper.selectMaxExchangeNo(); - String orderNo = NumberGeneratorUtil.getContactNo("jjdh", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.INTER_CHANGE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessInterchange.setCreateUser(authUser.getId()); businessInterchange.setInterchangeCode(orderNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java index 585a207..955cc7a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java @@ -13,19 +13,18 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.*; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.HandOutPropertyEnum; -import com.casic.missiles.enums.MeasureStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.HandOutPropertyEnum; +import com.casic.missiles.enums.business.MeasureStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.*; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; -import com.casic.missiles.model.business.BusinessLabExecutiveInfo; -import com.casic.missiles.model.business.BusinessLabExecutiveOperateLog; -import com.casic.missiles.model.business.BusinessLabExecutiveTemplateInfo; +import com.casic.missiles.model.business.*; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; import com.casic.missiles.service.business.IBusinessLabExecutiveTemplateInfoService; @@ -71,6 +70,8 @@ private AbstractDictService dictService; @Autowired private MeterStaffMapper staffMapper; + @Autowired + private BusinessOrderMapper orderMapper; @Override public Page handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) throws Exception{ @@ -377,7 +378,9 @@ if(CollectionUtils.isEmpty(unExecutiveInfos)){ //更新样品状态为检测完 orderSampleRelationMapper.updateByOrderIdAndSampleId(pre.getOrderId(), pre.getSampleId(), SampleStatusEnum.MEASURE_COMPLETE); - // TODO: 2023/2/17 委托书中所有样品检测完更新委托书接收状态为检测完成,需求待定 + + //委托书中所有样品检测完更新委托书接收状态为检测完成,未检测完的数量为0则表示全部检完 + updateOrderStatusComplete(pre); //将检测记录加入到实验室检测模板(仅全部为检测完成的才加入到模板,包含终止的不会加入) List labList = new ArrayList<>(); @@ -407,9 +410,27 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + @Transactional + public void updateOrderStatusComplete(SampleOperateRequest pre) { + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("order_id", pre.getOrderId()); + List statusList = new ArrayList<>(); + statusList.add(SampleStatusEnum.TO_RECEIVE); + statusList.add(SampleStatusEnum.TO_HANDOUT); + statusList.add(SampleStatusEnum.IN_MEASURE); + wrapper1.in("sample_status", statusList); + //同一事务中可查到更新后的数量 + if(orderSampleRelationMapper.selectCount(wrapper1) == 0){ + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(pre.getOrderId()); + businessOrder.setStatus(OrderStatusEnum.COMPLETE); + orderMapper.updateById(businessOrder); + } + } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + String templateCode = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.LAB_EXECUTIVE_TEMPLATE_PREFIX, maxNo + i); templateInfo.setTemplateCode(templateCode); // templateInfo.setSampleTypeId(); templateInfo.setSampleId(lab.getSampleId()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index f5c6f61..1d63554 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -14,6 +14,10 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; +import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; @@ -35,7 +39,6 @@ import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -45,12 +48,12 @@ * 业务管理-委托书 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @AllArgsConstructor -public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { +public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService,PrefixCodeEnum, OrderStatusEnum,SampleStatusEnum, MeasureTypeEnum { private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; @@ -90,8 +93,10 @@ List customerSampleList = new ArrayList<>(); for (BusinessOrderSampleRelation orderSample : orderSampleList) { CustomerSampleInfo customerSampleInfo = customerSampleService.sampleDetail(orderSample.getSampleId()); - customerSampleInfo.setIsExistSample("1"); - customerSampleList.add(customerSampleInfo); + if (null != customerSampleInfo) { + customerSampleInfo.setIsExistSample("1"); + customerSampleList.add(customerSampleInfo); + } } businessOrder.setCustomerSampleInfoList(customerSampleList); return businessOrder; @@ -202,7 +207,13 @@ @Override public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); - String dealType = "委托书" + ((status.equals("2")) ? "接收" : "退回"); + String dealType = ""; + if (status.equals(ALREADY_RECEIVED)) { + dealType = "委托书接收" ; + doUpdateSampleStatus(orderCancelRequest.getId(),TO_RECEIVE); + } else { + dealType = "委托书退回"; + } int addDealRecordFlag = addDealRecord(orderCancelRequest, dealType); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -216,7 +227,7 @@ @Override @Transactional public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { - int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), ALREADY_CANCEL); int addDealRecordFlag = addDealRecord(orderCancelRequest, "委托书取消"); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -250,6 +261,7 @@ return dealRecordMapper.insert(businessDealRecord); } + /** * 强调正在做状态更新 */ @@ -280,12 +292,12 @@ private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); - String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(ORDER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); - businessOrder.setStatus("1"); + businessOrder.setStatus(NOT_RECEIVED); } /** @@ -320,10 +332,23 @@ sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); - sampleStatusPopulation.setMeasureType("1"); + sampleStatusPopulation.setMeasureType(INSIDE_MEASURE); return this.sampleRelationMapper.insert(sampleStatusPopulation); } + /** + * 强调正在做状态更新 + */ + private int doUpdateSampleStatus(Long orderId, String sampleStatus) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", orderId); + BusinessOrderSampleRelation orderSample = new BusinessOrderSampleRelation(); + orderSample.setId(orderId); + orderSample.setSampleStatus(sampleStatus); + return this.sampleRelationMapper.update(orderSample, queryWrapper); + } + + private void doSampleListPopulation(BusinessOrder businessOrder) { businessOrder.getCustomerSampleInfoList().forEach( customerSampleInfo -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java index 1e35b7a..1c602b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java @@ -131,7 +131,7 @@ @Override public ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord) { - if (this.baseMapper.insert(businessOriginalRecord) > 0) { + if (this.baseMapper.updateById(businessOriginalRecord) > 0) { //加入技术文件绑定 if (ObjectUtil.isNotEmpty(businessOriginalRecord.getFileList()) && businessOriginalRecord.getFileList().size() > 0) { originalRecordFileRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getFileList()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java index 07c88e9..c9c1902 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.date.DateUtil; import com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -14,6 +15,7 @@ import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; @@ -29,6 +31,7 @@ import org.springframework.util.ObjectUtils; import javax.servlet.http.HttpServletResponse; +import java.util.Date; import java.util.List; import java.util.Objects; import java.util.Optional; @@ -39,7 +42,7 @@ @Service @Slf4j @AllArgsConstructor -public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService { +public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService, SampleStatusEnum, CurrentSegmentEnum, MeasureTypeEnum { private final BusinessOrderSampleRelationMapper orderSampleRelationMapper; private final BusinessCertificateReportMapper certificateReportMapper; @@ -73,20 +76,20 @@ Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.TO_HANDOUT: + case TO_HANDOUT: //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 - case SampleStatusEnum.IN_MEASURE: + case IN_MEASURE: //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.MEASURE_COMPLETE: + case MEASURE_COMPLETE: doDispatchVoPopulation(dispatchVO, sampleId, orderId); return; //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 - case SampleStatusEnum.BE_OVERDUE: + case BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); @@ -126,12 +129,14 @@ /** - * 状态更新 + * 根据sampleId,orderId,进行状态更新 */ @Override + @Transactional public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { + boolean beforeEventFlag = beforeStatusChange(deviceStatusChangeDTO); Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFlag > 0) { + if (updateFlag > 0 && beforeEventFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -181,8 +186,9 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); +// queryWrapper.ne("order_id", deviceStatusChangeDTO.getOrderId()); BusinessLabExecutiveInfo businessLabExecutiveInfo = new BusinessLabExecutiveInfo(); - businessLabExecutiveInfo.setMeasureStatus(deviceStatusChangeDTO.getStatus()); +// businessLabExecutiveInfo.setMeasureStatus(); businessLabExecutiveInfo.setRemark(deviceStatusChangeDTO.getReason()); labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } @@ -214,6 +220,9 @@ return handOutLabExecutiveDTOOptional.orElse(null); } + /** + * 构建证书的查询条件 + */ private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("order_id", dispatchVO.getOrderId()); @@ -230,7 +239,8 @@ queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); if (terminateFlag) { - queryWrapper.eq("sample_status", "2").or().eq("sample_status", "3").or().eq("sample_status", "4"); + //若是终止,需要对应待分发、检测中、检测完三个状态的变更 + queryWrapper.eq("sample_status", TO_HANDOUT).or().eq("sample_status", IN_MEASURE).or().eq("sample_status", MEASURE_COMPLETE); } BusinessOrderSampleRelation businessOrderSampleRelation = new BusinessOrderSampleRelation(); businessOrderSampleRelation.setSampleStatus(statusChangeDTO.getStatus()); @@ -238,12 +248,12 @@ } /** - * 判断不是自检 + * 判断不是自检,即外包和外检,进行环节设定 */ private boolean notSelfMeasure(DeviceDispatchVO dispatchVO) { if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType())) { - if (MeasureStatusEnum.TO_ALLOCATE.equals(String.valueOf(dispatchVO.getMeasureType())) || MeasureStatusEnum.TO_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { - String currentSegment = MeasureStatusEnum.TO_ALLOCATE.equals(dispatchVO.getMeasureType()) ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; + if (OTHERS_UNDERTAKE.equals(String.valueOf(dispatchVO.getMeasureType())) || OUTSIDE_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { + String currentSegment = OTHERS_UNDERTAKE.equals(dispatchVO.getMeasureType()) ? OUT_UNDERTAKE : OUT_MESASUR; dispatchVO.setCurrentSegment(currentSegment); return true; } @@ -251,6 +261,9 @@ return false; } + /** + * 其他条件的置为空 + */ private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { request.setSampleName(null); request.setSampleNo(null); @@ -264,18 +277,38 @@ } /** - * 判断样品是完成或接收状态,直接显示即可 + * 判断样品是完成或接收状态,进行当前阶段环节的设置 */ private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { - if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + if (TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_INCOME); return true; } - if (SampleStatusEnum.TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); + if (TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_ALLOCATE); return true; } return false; } + private boolean beforeStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(TO_INCOME)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + List orderSampleRelationList = this.orderSampleRelationMapper.selectList(queryWrapper); + Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); + if (orderSampleRelationOptional.isPresent()) { + BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); + if (businessOrderSampleRelation.getSampleStatus().equals(TO_ALLOCATE)) { + BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); + businessOrderSample.setRealDeliverTime(DateUtil.format(new Date(), "yyyy-MM-dd")); + int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); + return updateFlag > 0 ? true : false; + } + } + } + return true; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java index 4f06678..e2fea21 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerAdviceMapper; import com.casic.missiles.mapper.customer.CustomerMapper; @@ -34,7 +35,7 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerAdviceServiceImpl implements CustomerAdviceService { +public class CustomerAdviceServiceImpl implements CustomerAdviceService,PrefixCodeEnum { private final CustomerAdviceMapper customerAdviceMapper; private final IBaseExportService iBaseExportService; @@ -122,7 +123,7 @@ private void initCustomerAdviceInfo(CustomerAdviceInfo customerAdviceInfo) { Long maxNo = customerAdviceMapper.selectMaxAdviceNo(); - String adviceNo = NumberGeneratorUtil.getContactNo("khjy", maxNo); + String adviceNo = NumberGeneratorUtil.getContactNo(CUSTOMER_ADVICE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerAdviceInfo.setCreateUser(authUser.getId()); customerAdviceInfo.setUpdateUser(authUser.getId()); 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 4889e55..f9747dd 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 @@ -10,18 +10,19 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.sample.CertificationExpireStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; import com.casic.missiles.mapper.customer.CustomerMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerSampleListResponseMapper; import com.casic.missiles.mapper.customer.CustomerSampleMapper; -import com.casic.missiles.mapper.customer.customize.MesureRecordsResponseMapper; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -42,13 +43,11 @@ @Service @AllArgsConstructor -public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService { +public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService, CertificationExpireStatusEnum,PrefixCodeEnum{ private final CustomerSampleListResponseMapper customerSampleListResponseMapper; private final CustomerMapper customerMapper; private final IBaseExportService iBaseExportService; - private final CertificationResponseMapper certificationResponseMapper; - private final MesureRecordsResponseMapper mesureResponseMapper; private final BusinessOrderSampleRelationMapper sampleRelationMapper; @Override @@ -58,14 +57,14 @@ customerSamplePage.getRecords() .forEach(customerSample -> { BusinessOrderSampleRelation businessOrderSampleRelation = this.getSampleStatusById(customerSample.getId()); + customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); - customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); } }); for (CustomerSampleListResponse customerSampleListResponse : customerSamplePage.getRecords()) { - if (!StringUtils.isEmpty(customerSampleListResponse.getSampleSatus())) { + if (!StringUtils.isEmpty(customerSampleListResponse.getSampleStatus())) { DictCodeUtils.convertDictCodeToName(customerSampleListResponse); } } @@ -106,14 +105,13 @@ public CustomerSampleInfo sampleDetail(Long id) { CustomerSampleInfo customerSampleInfo = this.baseMapper.selectById(id); if (!ObjectUtils.isEmpty(customerSampleInfo)) { - doCustomerSampleInfoPopulation(customerSampleInfo); + doPopulateCustomerSampleInfo(customerSampleInfo); } return customerSampleInfo; } /** * 只导出样品列表信息 - * */ @Override public void sampleExport(CustomerSampleListRequest request, HttpServletResponse response) { @@ -135,7 +133,7 @@ BusinessOrderSampleRelation businessOrderSampleRelation = businessOrderMap.get(customerSample.getId()); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); } } @@ -159,26 +157,16 @@ } @Override - public Page measureRecordsBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page measureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); + public Page measureRecordsById(CustomerSampleIdRequest customerSampleIdRequest) { + Page page = PageFactory.defaultPage(); + Page measureRecordsResponsePage = this.baseMapper.measureRecordsById(page, customerSampleIdRequest); return measureRecordsResponsePage; } - @Override - public Page certificationBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page certificateResponsePage = certificationResponseMapper.selectPage(page, wrapper); - return certificateResponsePage; - } @Override - public Page samplesByOderId(Page page,Long orderId, String sampleNo, String sampleName) { - return this.baseMapper.samplesByOderId(page,orderId,sampleNo,sampleName); + public Page samplesByOderId(Page page, Long orderId, String sampleNo, String sampleName) { + return this.baseMapper.samplesByOderId(page, orderId, sampleNo, sampleName); } private BusinessOrderSampleRelation getSampleStatusById(Long sampleId) { @@ -190,9 +178,12 @@ return orderSampleOptional.isPresent() ? orderSampleOptional.get() : null; } + /** + * 初始化样品状态 + */ private void initSample(CustomerSampleInfo customerSampleInfo) { Long maxNo = this.baseMapper.selectMaxSampleNo(); - String sampleNo = NumberGeneratorUtil.getContactNo("khyp", maxNo); + String sampleNo = NumberGeneratorUtil.getContactNo(SAMPLE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setSampleNo(sampleNo); customerSampleInfo.setCreateUser(authUser.getId()); @@ -202,7 +193,6 @@ private QueryWrapper listParamWrapper(CustomerSampleListRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.select("id,sample_no,sample_name,sample_model,manufacturing_no,customer_id,measure_period,measure_last_time,remark,valid_deadline"); queryWrapper.like(StringUtils.isNotBlank(request.getSampleNo()), "sample_no", request.getSampleNo()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleName()), "sample_name", request.getSampleName()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleBelong()), "sample_belong", request.getSampleBelong()); @@ -210,9 +200,10 @@ queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); if (!StringUtils.isEmpty(request.getOvertimeStatus())) { - queryWrapper.apply(request.getOvertimeStatus().equals("1"), + queryWrapper.apply("1".equals(request.getOvertimeStatus()), + "sysdate() > DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); - queryWrapper.apply(request.getOvertimeStatus().equals("0"), + queryWrapper.apply("0".equals(request.getOvertimeStatus()), "sysdate() <= DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); } queryWrapper.apply(StringUtils.isNotBlank(request.getStartTime()), @@ -224,24 +215,30 @@ return queryWrapper; } + /** + * 通过证书到期时间进行到期状态的计算 + */ private String calculateCertificationStatus(String validDeadline) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if (StringUtils.isEmpty(validDeadline)) { - return "0"; + return NORMAL; } - if (validDeadline.compareTo(sdf.format(new Date())) > 0) { - return "2"; + if (validDeadline.compareTo(sdf.format(new Date())) < 0) { + return ALREADY_EXPIRE; } Calendar date = Calendar.getInstance(); date.setTime(new Date()); date.add(Calendar.DAY_OF_MONTH, -30); - if (validDeadline.compareTo(sdf.format(date.getTime())) > 0) { - return "1"; + if (validDeadline.compareTo(sdf.format(date.getTime())) < 0) { + return ALMOST_EXPIRE; } - return "0"; + return NORMAL; } - private void doCustomerSampleInfoPopulation(CustomerSampleInfo customerSampleInfo) { + /** + * 对样品列表的进行供应商联系方式的填充 + */ + private void doPopulateCustomerSampleInfo(CustomerSampleInfo customerSampleInfo) { CustomerInfo customerInfo = customerMapper.selectById(customerSampleInfo.getCustomerId()); if (!ObjectUtils.isEmpty(customerInfo)) { customerSampleInfo.setPhone(customerInfo.getPhone()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java index 32d4dee..f6e1f8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java @@ -11,13 +11,12 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerMapper; import com.casic.missiles.mapper.customer.CustomerUserMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerInfoResponseMapper; import com.casic.missiles.mapper.customer.customize.SampleRecordsResponseMapper; import com.casic.missiles.model.customer.CustomerInfo; @@ -38,11 +37,10 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerServiceImpl extends ServiceImpl implements CustomerService { +public class CustomerServiceImpl extends ServiceImpl implements CustomerService,PrefixCodeEnum { private final SampleRecordsResponseMapper sampleRecordsResponseMapper; private final CustomerUserMapper customerUserMapper; - private final CertificationResponseMapper certificationMapper; private final IBaseExportService iBaseExportService; private final CustomerInfoResponseMapper customerInfoResponseMapper; @@ -126,18 +124,9 @@ return contractRecordsResponsePage; } - @Override//暂定不做 - public Page mesureRecordsByCustomerId(Long customerId) { - Page measureRecordsResponsePage = PageFactory.defaultPage(); - return measureRecordsResponsePage; - } - @Override public Page certificationByCustomerId(Long customerId) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("customer_id", customerId); - return certificationMapper.selectPage(page, wrapper); + return null; } @Override @@ -163,8 +152,7 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); - queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "bussiness_size", request.getBusinessSize()); - queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); + queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "business_size", request.getBusinessSize()); queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); queryWrapper.eq("is_del", 0); return queryWrapper; @@ -172,7 +160,7 @@ private void initCustomerInfo(CustomerInfo customerInfo) { Long maxNo = this.baseMapper.selectMaxCustomerNo(); - String customerNo = NumberGeneratorUtil.getContactNo("khxx", maxNo); + String customerNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CUSTOMER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerInfo.setCreateUser(authUser.getId()); customerInfo.setUpdateUser(authUser.getId()); @@ -196,7 +184,7 @@ boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { customerUserInfo.setCustomerId(id); - String customerNo = NumberGeneratorUtil.getContactNo("khyh", maxUserNo++); + String customerNo = NumberGeneratorUtil.getContactNo(CUSTOMER_USER_PREFIX, maxUserNo++); customerUserInfo.setUserNo(customerNo); int userAddNum = customerUserMapper.insert(customerUserInfo); if (userAddNum <= 0) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java index d81a488..77e4caf 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java @@ -13,9 +13,10 @@ import com.casic.missiles.dto.equipment.AcceptanceCheckRequest; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentAcceptanceCheckMapper; @@ -183,7 +184,7 @@ public ReturnDTO addAcceptanceCheck(EquipmentApply equipmentApply) { Long maxNo = equipmentApplyMapper.selectMaxNo(); // 生成编号 - String applyNo = NumberGeneratorUtil.getContactNo("sbjxbyysd", maxNo); + String applyNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.REPAIR_MAINTAIN_PREFIX, maxNo); equipmentApply.setApplyNo(applyNo); // 草稿箱状态 equipmentApply.setApprovalStatus(ApprovalStatusEnum.DRAFT); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java new file mode 100644 index 0000000..e196dda --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Builder; +import lombok.Data; + +/** + * @author cz + */ +@Data +@Builder +public class NotifyEventStatusDTO { + + /** + * 业务表主键 + */ + private String id; + /** + * 业务表状态 + */ + private String status; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java index 65c19e3..0f3e84f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java @@ -74,7 +74,7 @@ /** * 部门/科室/工程组名称 */ - @ExcelProperty("组织编号") + @ExcelProperty("组织名称") @ApiModelProperty(value = "计量组织名称", dataType = "String", required = true) @NotBlank(message = "计量组织名称不能为空") @TableField("organize_name") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java index 54dc5cd..244e431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java @@ -84,7 +84,7 @@ * 签名用户id(一个用户一个签名,签名不使用关联表,签章暂时使用和使用人的关联表) */ @TableField("sign_user_id") - private String signUserId; + private Long signUserId; /** * 签章或签名-字典code diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java index ca20ca4..0e94b9e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 2f97cb3..fdc4bf0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -3,7 +3,6 @@ import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -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; @@ -17,9 +16,10 @@ import com.casic.missiles.dto.flowable.ApprovalAgreeRequest; import com.casic.missiles.dto.flowable.ApprovalRefuseRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -42,10 +42,9 @@ */ @Service @AllArgsConstructor -public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { +public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService, CertificatePrintStatusEnum { private final IBaseApprovalService baseApprovalService; - private final AbstractDictService dictService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; @@ -86,7 +85,7 @@ } /** - * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 * * @return */ @@ -103,7 +102,7 @@ BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); //设置为不能打印 - certificateReport.setPrintStatus("2"); + certificateReport.setPrintStatus(NON_PRINTABLE); certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { @@ -113,7 +112,7 @@ } /** - * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 */ @Transactional @Override @@ -128,7 +127,7 @@ //审批状态为审批中 certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //打印状态审批中 - certificateReport.setPrintStatus("3"); + certificateReport.setPrintStatus(IN_APPROVAL); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -142,7 +141,7 @@ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)&&CollectionUtils.isEmpty(request.getIds())) { - handlerBeApproved(approvalList, page, request); + approvalList=handlerBeApproved(approvalList, page, request); }else { approvalList=this.baseMapper.selectBatchForApprovalList(page, request, null); } 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 d03ab22..164c53a 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,17 +7,22 @@ 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.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; -import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +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.MonitorCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -26,9 +31,9 @@ import com.casic.missiles.service.business.IBusinessCertificateReportService; import com.casic.missiles.service.business.IBusinessOriginalRecordService; import com.casic.missiles.service.flowable.ApprovalOperateService; -import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; +import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.runtime.ProcessInstance; @@ -68,8 +73,10 @@ private RuntimeService runtimeService; @Resource private IBaseExportService iBaseExportService; + /** * 保存证书报告信息 + * * @param certificateReport * @return */ @@ -77,7 +84,7 @@ public ReturnDTO saveCertificateReport(BusinessCertificateReport certificateReport) { initCertificateReport(certificateReport); - if(this.baseMapper.insert(certificateReport)>0) + if (this.baseMapper.insert(certificateReport) > 0) return ReturnUtil.success(); throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -90,9 +97,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //删除数据库记录 - if(this.baseMapper.deleteById(request.getId()) > 0){ + if (this.baseMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -101,7 +108,7 @@ @Override public ReturnDTO draftUpdate(BusinessCertificateReport certificateReport) { - if(this.baseMapper.updateById(certificateReport)>0){ + if (this.baseMapper.updateById(certificateReport) > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -109,25 +116,27 @@ /** * 批量删除 + * * @param ids * @return */ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - return baseMapper.deleteBatchIds(ids) > 0?ReturnUtil.success(): + return baseMapper.deleteBatchIds(ids) > 0 ? ReturnUtil.success() : ReturnUtil.failed("删除失败"); } /** * 证书报告详情 + * * @param id * @return */ @Override public BusinessCertificateReport certificateReportDetail(Long id) { BusinessCertificateReport certificateReport = this.baseMapper.selectById(id); - if(certificateReport.getOriginalRecordId()!=null){ + if (certificateReport.getOriginalRecordId() != null) { try { certificateReport.setBusinessOriginalRecord(originalRecordService.originalDetail(certificateReport.getOriginalRecordId())); } catch (Exception e) { @@ -139,6 +148,7 @@ /** * 提交证书报告 + * * @param request * @return */ @@ -148,10 +158,10 @@ String formId = request.getFormId(); //2.根据流程定义id启动流程实例 ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); certificateReport.setApprovalStatus(ApprovalStatusEnum.UN_DRAFT); //非草稿状态 @@ -165,6 +175,7 @@ /** * 审批状态列表查询 + * * @param page * @param request * @return @@ -182,6 +193,7 @@ /** * 驳回后更新 + * * @param certificateReport * @return */ @@ -208,13 +220,14 @@ @Override public void originExport(CertificateReportApprovalRequest request, HttpServletResponse response) { try { - //toDo: -// List certificateReportResponses = this.certificateReport(request); -// for (OriginRecordResponse originRecordResponse : originExportList) { -// //字典值转换 -// DictCodeUtils.convertDictCodeToName(originRecordResponse); -// } -// iBaseExportService.exportExcel(response, CertificateReportResponse.class, originExportList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); + //登录用户 + AuthUser user = ShiroKit.getUser(); + Assert.isFalse(Objects.isNull(user), () -> { + throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); + }); + request.setCreateUserId(user.getId()); + List reportResponseList = handleApprovalStatus(null, request); + iBaseExportService.exportExcel(response, CertificateReportResponse.class, reportResponseList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); } catch (Exception e) { log.error("证书报告导出出现异常,异常信息为{}", e); } @@ -231,15 +244,15 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -251,27 +264,27 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ - approvalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); + if (!CollectionUtils.isEmpty(businessKeys)) { + approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ - rejectApprovalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { + rejectApprovalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -279,7 +292,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.CANCELED); } break; @@ -288,10 +301,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleAllApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), AllApproveList); } break; @@ -299,9 +312,26 @@ return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List allApproveList) { - Map taskMap = new HashMap<>(); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + /** + * 客户、样品详情列表 + */ + @Override + public Page certificateRecordsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception { + Page page = PageFactory.defaultPage(); + Page certificateResponsePage = this.baseMapper.certificateRecordsById(page, customerSampleIdRequest); + for (CertificationResponse customerSampleListResponse : certificateResponsePage.getRecords()) { + if (!StringUtils.isEmpty(customerSampleListResponse.getCertificationClass())) { + DictCodeUtils.convertDictMultiCodeToName(customerSampleListResponse); + } + } + return certificateResponsePage; + } + + private List handleAllApprovalListResponse(List approvalList, List allApproveList) { + Map taskMap = new HashMap<>(); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -313,7 +343,7 @@ return approvalList.stream().sorted(Comparator.comparing(CertificateReportResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, String status){ + private List handleApprovalListResponse(List approvalList, String status) { approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); @@ -324,14 +354,14 @@ private void initCertificateReport(BusinessCertificateReport certificateReport) { String prefix = MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue() - +DateUtil.format(new Date(),"YYYYMM"); + + DateUtil.format(new Date(), "YYYYMM"); Long maxNo = this.baseMapper.selectMaxCode(prefix); //生成证书编号 - String certificateReportNo =NumberGeneratorUtil.getCode( - MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(),maxNo); + String certificateReportNo = NumberGeneratorUtil.getCode( + MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(), maxNo); AuthUser authUser = ShiroKit.getUser(); certificateReport.setCreateUser(authUser.getId()); - certificateReport.setMeasurePersonId(authUser.getId()+""); + certificateReport.setMeasurePersonId(authUser.getId() + ""); certificateReport.setMeasureDeptId(authUser.getDeptId()); certificateReport.setCertificateReportCode(certificateReportNo); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index c4ed5f6..5456773 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -12,13 +12,12 @@ import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; import com.casic.missiles.mapper.business.EnvironmentListResponseMapper; import com.casic.missiles.model.business.BusinessEnvironmentRecord; -import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 859010b..0d847a0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessInterchangeMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; @@ -35,7 +36,7 @@ * 业务管理-设备交接单 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @@ -83,7 +84,7 @@ } /** - * 更新不对样品有任何操作 + * 更新只是交接单的变更,没有任何其他单位的变化 */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { @@ -94,6 +95,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 交接单新增,同时在样品委托书管理表中新增交接单记录id + */ @Override @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { @@ -111,6 +115,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 选中判断ids存在,进行其他条件的清空 + */ @Override public void exportExchange(InterchangeListRequest request, HttpServletResponse response) { try { @@ -153,7 +160,7 @@ private void populationExchange(BusinessInterchange businessInterchange) { Long maxNo = this.baseMapper.selectMaxExchangeNo(); - String orderNo = NumberGeneratorUtil.getContactNo("jjdh", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.INTER_CHANGE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessInterchange.setCreateUser(authUser.getId()); businessInterchange.setInterchangeCode(orderNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java index 585a207..955cc7a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java @@ -13,19 +13,18 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.*; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.HandOutPropertyEnum; -import com.casic.missiles.enums.MeasureStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.HandOutPropertyEnum; +import com.casic.missiles.enums.business.MeasureStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.*; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; -import com.casic.missiles.model.business.BusinessLabExecutiveInfo; -import com.casic.missiles.model.business.BusinessLabExecutiveOperateLog; -import com.casic.missiles.model.business.BusinessLabExecutiveTemplateInfo; +import com.casic.missiles.model.business.*; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; import com.casic.missiles.service.business.IBusinessLabExecutiveTemplateInfoService; @@ -71,6 +70,8 @@ private AbstractDictService dictService; @Autowired private MeterStaffMapper staffMapper; + @Autowired + private BusinessOrderMapper orderMapper; @Override public Page handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) throws Exception{ @@ -377,7 +378,9 @@ if(CollectionUtils.isEmpty(unExecutiveInfos)){ //更新样品状态为检测完 orderSampleRelationMapper.updateByOrderIdAndSampleId(pre.getOrderId(), pre.getSampleId(), SampleStatusEnum.MEASURE_COMPLETE); - // TODO: 2023/2/17 委托书中所有样品检测完更新委托书接收状态为检测完成,需求待定 + + //委托书中所有样品检测完更新委托书接收状态为检测完成,未检测完的数量为0则表示全部检完 + updateOrderStatusComplete(pre); //将检测记录加入到实验室检测模板(仅全部为检测完成的才加入到模板,包含终止的不会加入) List labList = new ArrayList<>(); @@ -407,9 +410,27 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + @Transactional + public void updateOrderStatusComplete(SampleOperateRequest pre) { + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("order_id", pre.getOrderId()); + List statusList = new ArrayList<>(); + statusList.add(SampleStatusEnum.TO_RECEIVE); + statusList.add(SampleStatusEnum.TO_HANDOUT); + statusList.add(SampleStatusEnum.IN_MEASURE); + wrapper1.in("sample_status", statusList); + //同一事务中可查到更新后的数量 + if(orderSampleRelationMapper.selectCount(wrapper1) == 0){ + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(pre.getOrderId()); + businessOrder.setStatus(OrderStatusEnum.COMPLETE); + orderMapper.updateById(businessOrder); + } + } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + String templateCode = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.LAB_EXECUTIVE_TEMPLATE_PREFIX, maxNo + i); templateInfo.setTemplateCode(templateCode); // templateInfo.setSampleTypeId(); templateInfo.setSampleId(lab.getSampleId()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index f5c6f61..1d63554 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -14,6 +14,10 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; +import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; @@ -35,7 +39,6 @@ import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -45,12 +48,12 @@ * 业务管理-委托书 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @AllArgsConstructor -public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { +public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService,PrefixCodeEnum, OrderStatusEnum,SampleStatusEnum, MeasureTypeEnum { private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; @@ -90,8 +93,10 @@ List customerSampleList = new ArrayList<>(); for (BusinessOrderSampleRelation orderSample : orderSampleList) { CustomerSampleInfo customerSampleInfo = customerSampleService.sampleDetail(orderSample.getSampleId()); - customerSampleInfo.setIsExistSample("1"); - customerSampleList.add(customerSampleInfo); + if (null != customerSampleInfo) { + customerSampleInfo.setIsExistSample("1"); + customerSampleList.add(customerSampleInfo); + } } businessOrder.setCustomerSampleInfoList(customerSampleList); return businessOrder; @@ -202,7 +207,13 @@ @Override public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); - String dealType = "委托书" + ((status.equals("2")) ? "接收" : "退回"); + String dealType = ""; + if (status.equals(ALREADY_RECEIVED)) { + dealType = "委托书接收" ; + doUpdateSampleStatus(orderCancelRequest.getId(),TO_RECEIVE); + } else { + dealType = "委托书退回"; + } int addDealRecordFlag = addDealRecord(orderCancelRequest, dealType); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -216,7 +227,7 @@ @Override @Transactional public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { - int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), ALREADY_CANCEL); int addDealRecordFlag = addDealRecord(orderCancelRequest, "委托书取消"); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -250,6 +261,7 @@ return dealRecordMapper.insert(businessDealRecord); } + /** * 强调正在做状态更新 */ @@ -280,12 +292,12 @@ private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); - String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(ORDER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); - businessOrder.setStatus("1"); + businessOrder.setStatus(NOT_RECEIVED); } /** @@ -320,10 +332,23 @@ sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); - sampleStatusPopulation.setMeasureType("1"); + sampleStatusPopulation.setMeasureType(INSIDE_MEASURE); return this.sampleRelationMapper.insert(sampleStatusPopulation); } + /** + * 强调正在做状态更新 + */ + private int doUpdateSampleStatus(Long orderId, String sampleStatus) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", orderId); + BusinessOrderSampleRelation orderSample = new BusinessOrderSampleRelation(); + orderSample.setId(orderId); + orderSample.setSampleStatus(sampleStatus); + return this.sampleRelationMapper.update(orderSample, queryWrapper); + } + + private void doSampleListPopulation(BusinessOrder businessOrder) { businessOrder.getCustomerSampleInfoList().forEach( customerSampleInfo -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java index 1e35b7a..1c602b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java @@ -131,7 +131,7 @@ @Override public ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord) { - if (this.baseMapper.insert(businessOriginalRecord) > 0) { + if (this.baseMapper.updateById(businessOriginalRecord) > 0) { //加入技术文件绑定 if (ObjectUtil.isNotEmpty(businessOriginalRecord.getFileList()) && businessOriginalRecord.getFileList().size() > 0) { originalRecordFileRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getFileList()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java index 07c88e9..c9c1902 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.date.DateUtil; import com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -14,6 +15,7 @@ import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; @@ -29,6 +31,7 @@ import org.springframework.util.ObjectUtils; import javax.servlet.http.HttpServletResponse; +import java.util.Date; import java.util.List; import java.util.Objects; import java.util.Optional; @@ -39,7 +42,7 @@ @Service @Slf4j @AllArgsConstructor -public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService { +public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService, SampleStatusEnum, CurrentSegmentEnum, MeasureTypeEnum { private final BusinessOrderSampleRelationMapper orderSampleRelationMapper; private final BusinessCertificateReportMapper certificateReportMapper; @@ -73,20 +76,20 @@ Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.TO_HANDOUT: + case TO_HANDOUT: //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 - case SampleStatusEnum.IN_MEASURE: + case IN_MEASURE: //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.MEASURE_COMPLETE: + case MEASURE_COMPLETE: doDispatchVoPopulation(dispatchVO, sampleId, orderId); return; //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 - case SampleStatusEnum.BE_OVERDUE: + case BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); @@ -126,12 +129,14 @@ /** - * 状态更新 + * 根据sampleId,orderId,进行状态更新 */ @Override + @Transactional public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { + boolean beforeEventFlag = beforeStatusChange(deviceStatusChangeDTO); Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFlag > 0) { + if (updateFlag > 0 && beforeEventFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -181,8 +186,9 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); +// queryWrapper.ne("order_id", deviceStatusChangeDTO.getOrderId()); BusinessLabExecutiveInfo businessLabExecutiveInfo = new BusinessLabExecutiveInfo(); - businessLabExecutiveInfo.setMeasureStatus(deviceStatusChangeDTO.getStatus()); +// businessLabExecutiveInfo.setMeasureStatus(); businessLabExecutiveInfo.setRemark(deviceStatusChangeDTO.getReason()); labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } @@ -214,6 +220,9 @@ return handOutLabExecutiveDTOOptional.orElse(null); } + /** + * 构建证书的查询条件 + */ private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("order_id", dispatchVO.getOrderId()); @@ -230,7 +239,8 @@ queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); if (terminateFlag) { - queryWrapper.eq("sample_status", "2").or().eq("sample_status", "3").or().eq("sample_status", "4"); + //若是终止,需要对应待分发、检测中、检测完三个状态的变更 + queryWrapper.eq("sample_status", TO_HANDOUT).or().eq("sample_status", IN_MEASURE).or().eq("sample_status", MEASURE_COMPLETE); } BusinessOrderSampleRelation businessOrderSampleRelation = new BusinessOrderSampleRelation(); businessOrderSampleRelation.setSampleStatus(statusChangeDTO.getStatus()); @@ -238,12 +248,12 @@ } /** - * 判断不是自检 + * 判断不是自检,即外包和外检,进行环节设定 */ private boolean notSelfMeasure(DeviceDispatchVO dispatchVO) { if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType())) { - if (MeasureStatusEnum.TO_ALLOCATE.equals(String.valueOf(dispatchVO.getMeasureType())) || MeasureStatusEnum.TO_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { - String currentSegment = MeasureStatusEnum.TO_ALLOCATE.equals(dispatchVO.getMeasureType()) ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; + if (OTHERS_UNDERTAKE.equals(String.valueOf(dispatchVO.getMeasureType())) || OUTSIDE_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { + String currentSegment = OTHERS_UNDERTAKE.equals(dispatchVO.getMeasureType()) ? OUT_UNDERTAKE : OUT_MESASUR; dispatchVO.setCurrentSegment(currentSegment); return true; } @@ -251,6 +261,9 @@ return false; } + /** + * 其他条件的置为空 + */ private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { request.setSampleName(null); request.setSampleNo(null); @@ -264,18 +277,38 @@ } /** - * 判断样品是完成或接收状态,直接显示即可 + * 判断样品是完成或接收状态,进行当前阶段环节的设置 */ private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { - if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + if (TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_INCOME); return true; } - if (SampleStatusEnum.TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); + if (TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_ALLOCATE); return true; } return false; } + private boolean beforeStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(TO_INCOME)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + List orderSampleRelationList = this.orderSampleRelationMapper.selectList(queryWrapper); + Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); + if (orderSampleRelationOptional.isPresent()) { + BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); + if (businessOrderSampleRelation.getSampleStatus().equals(TO_ALLOCATE)) { + BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); + businessOrderSample.setRealDeliverTime(DateUtil.format(new Date(), "yyyy-MM-dd")); + int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); + return updateFlag > 0 ? true : false; + } + } + } + return true; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java index 4f06678..e2fea21 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerAdviceMapper; import com.casic.missiles.mapper.customer.CustomerMapper; @@ -34,7 +35,7 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerAdviceServiceImpl implements CustomerAdviceService { +public class CustomerAdviceServiceImpl implements CustomerAdviceService,PrefixCodeEnum { private final CustomerAdviceMapper customerAdviceMapper; private final IBaseExportService iBaseExportService; @@ -122,7 +123,7 @@ private void initCustomerAdviceInfo(CustomerAdviceInfo customerAdviceInfo) { Long maxNo = customerAdviceMapper.selectMaxAdviceNo(); - String adviceNo = NumberGeneratorUtil.getContactNo("khjy", maxNo); + String adviceNo = NumberGeneratorUtil.getContactNo(CUSTOMER_ADVICE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerAdviceInfo.setCreateUser(authUser.getId()); customerAdviceInfo.setUpdateUser(authUser.getId()); 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 4889e55..f9747dd 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 @@ -10,18 +10,19 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.sample.CertificationExpireStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; import com.casic.missiles.mapper.customer.CustomerMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerSampleListResponseMapper; import com.casic.missiles.mapper.customer.CustomerSampleMapper; -import com.casic.missiles.mapper.customer.customize.MesureRecordsResponseMapper; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -42,13 +43,11 @@ @Service @AllArgsConstructor -public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService { +public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService, CertificationExpireStatusEnum,PrefixCodeEnum{ private final CustomerSampleListResponseMapper customerSampleListResponseMapper; private final CustomerMapper customerMapper; private final IBaseExportService iBaseExportService; - private final CertificationResponseMapper certificationResponseMapper; - private final MesureRecordsResponseMapper mesureResponseMapper; private final BusinessOrderSampleRelationMapper sampleRelationMapper; @Override @@ -58,14 +57,14 @@ customerSamplePage.getRecords() .forEach(customerSample -> { BusinessOrderSampleRelation businessOrderSampleRelation = this.getSampleStatusById(customerSample.getId()); + customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); - customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); } }); for (CustomerSampleListResponse customerSampleListResponse : customerSamplePage.getRecords()) { - if (!StringUtils.isEmpty(customerSampleListResponse.getSampleSatus())) { + if (!StringUtils.isEmpty(customerSampleListResponse.getSampleStatus())) { DictCodeUtils.convertDictCodeToName(customerSampleListResponse); } } @@ -106,14 +105,13 @@ public CustomerSampleInfo sampleDetail(Long id) { CustomerSampleInfo customerSampleInfo = this.baseMapper.selectById(id); if (!ObjectUtils.isEmpty(customerSampleInfo)) { - doCustomerSampleInfoPopulation(customerSampleInfo); + doPopulateCustomerSampleInfo(customerSampleInfo); } return customerSampleInfo; } /** * 只导出样品列表信息 - * */ @Override public void sampleExport(CustomerSampleListRequest request, HttpServletResponse response) { @@ -135,7 +133,7 @@ BusinessOrderSampleRelation businessOrderSampleRelation = businessOrderMap.get(customerSample.getId()); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); } } @@ -159,26 +157,16 @@ } @Override - public Page measureRecordsBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page measureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); + public Page measureRecordsById(CustomerSampleIdRequest customerSampleIdRequest) { + Page page = PageFactory.defaultPage(); + Page measureRecordsResponsePage = this.baseMapper.measureRecordsById(page, customerSampleIdRequest); return measureRecordsResponsePage; } - @Override - public Page certificationBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page certificateResponsePage = certificationResponseMapper.selectPage(page, wrapper); - return certificateResponsePage; - } @Override - public Page samplesByOderId(Page page,Long orderId, String sampleNo, String sampleName) { - return this.baseMapper.samplesByOderId(page,orderId,sampleNo,sampleName); + public Page samplesByOderId(Page page, Long orderId, String sampleNo, String sampleName) { + return this.baseMapper.samplesByOderId(page, orderId, sampleNo, sampleName); } private BusinessOrderSampleRelation getSampleStatusById(Long sampleId) { @@ -190,9 +178,12 @@ return orderSampleOptional.isPresent() ? orderSampleOptional.get() : null; } + /** + * 初始化样品状态 + */ private void initSample(CustomerSampleInfo customerSampleInfo) { Long maxNo = this.baseMapper.selectMaxSampleNo(); - String sampleNo = NumberGeneratorUtil.getContactNo("khyp", maxNo); + String sampleNo = NumberGeneratorUtil.getContactNo(SAMPLE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setSampleNo(sampleNo); customerSampleInfo.setCreateUser(authUser.getId()); @@ -202,7 +193,6 @@ private QueryWrapper listParamWrapper(CustomerSampleListRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.select("id,sample_no,sample_name,sample_model,manufacturing_no,customer_id,measure_period,measure_last_time,remark,valid_deadline"); queryWrapper.like(StringUtils.isNotBlank(request.getSampleNo()), "sample_no", request.getSampleNo()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleName()), "sample_name", request.getSampleName()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleBelong()), "sample_belong", request.getSampleBelong()); @@ -210,9 +200,10 @@ queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); if (!StringUtils.isEmpty(request.getOvertimeStatus())) { - queryWrapper.apply(request.getOvertimeStatus().equals("1"), + queryWrapper.apply("1".equals(request.getOvertimeStatus()), + "sysdate() > DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); - queryWrapper.apply(request.getOvertimeStatus().equals("0"), + queryWrapper.apply("0".equals(request.getOvertimeStatus()), "sysdate() <= DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); } queryWrapper.apply(StringUtils.isNotBlank(request.getStartTime()), @@ -224,24 +215,30 @@ return queryWrapper; } + /** + * 通过证书到期时间进行到期状态的计算 + */ private String calculateCertificationStatus(String validDeadline) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if (StringUtils.isEmpty(validDeadline)) { - return "0"; + return NORMAL; } - if (validDeadline.compareTo(sdf.format(new Date())) > 0) { - return "2"; + if (validDeadline.compareTo(sdf.format(new Date())) < 0) { + return ALREADY_EXPIRE; } Calendar date = Calendar.getInstance(); date.setTime(new Date()); date.add(Calendar.DAY_OF_MONTH, -30); - if (validDeadline.compareTo(sdf.format(date.getTime())) > 0) { - return "1"; + if (validDeadline.compareTo(sdf.format(date.getTime())) < 0) { + return ALMOST_EXPIRE; } - return "0"; + return NORMAL; } - private void doCustomerSampleInfoPopulation(CustomerSampleInfo customerSampleInfo) { + /** + * 对样品列表的进行供应商联系方式的填充 + */ + private void doPopulateCustomerSampleInfo(CustomerSampleInfo customerSampleInfo) { CustomerInfo customerInfo = customerMapper.selectById(customerSampleInfo.getCustomerId()); if (!ObjectUtils.isEmpty(customerInfo)) { customerSampleInfo.setPhone(customerInfo.getPhone()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java index 32d4dee..f6e1f8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java @@ -11,13 +11,12 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerMapper; import com.casic.missiles.mapper.customer.CustomerUserMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerInfoResponseMapper; import com.casic.missiles.mapper.customer.customize.SampleRecordsResponseMapper; import com.casic.missiles.model.customer.CustomerInfo; @@ -38,11 +37,10 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerServiceImpl extends ServiceImpl implements CustomerService { +public class CustomerServiceImpl extends ServiceImpl implements CustomerService,PrefixCodeEnum { private final SampleRecordsResponseMapper sampleRecordsResponseMapper; private final CustomerUserMapper customerUserMapper; - private final CertificationResponseMapper certificationMapper; private final IBaseExportService iBaseExportService; private final CustomerInfoResponseMapper customerInfoResponseMapper; @@ -126,18 +124,9 @@ return contractRecordsResponsePage; } - @Override//暂定不做 - public Page mesureRecordsByCustomerId(Long customerId) { - Page measureRecordsResponsePage = PageFactory.defaultPage(); - return measureRecordsResponsePage; - } - @Override public Page certificationByCustomerId(Long customerId) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("customer_id", customerId); - return certificationMapper.selectPage(page, wrapper); + return null; } @Override @@ -163,8 +152,7 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); - queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "bussiness_size", request.getBusinessSize()); - queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); + queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "business_size", request.getBusinessSize()); queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); queryWrapper.eq("is_del", 0); return queryWrapper; @@ -172,7 +160,7 @@ private void initCustomerInfo(CustomerInfo customerInfo) { Long maxNo = this.baseMapper.selectMaxCustomerNo(); - String customerNo = NumberGeneratorUtil.getContactNo("khxx", maxNo); + String customerNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CUSTOMER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerInfo.setCreateUser(authUser.getId()); customerInfo.setUpdateUser(authUser.getId()); @@ -196,7 +184,7 @@ boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { customerUserInfo.setCustomerId(id); - String customerNo = NumberGeneratorUtil.getContactNo("khyh", maxUserNo++); + String customerNo = NumberGeneratorUtil.getContactNo(CUSTOMER_USER_PREFIX, maxUserNo++); customerUserInfo.setUserNo(customerNo); int userAddNum = customerUserMapper.insert(customerUserInfo); if (userAddNum <= 0) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java index d81a488..77e4caf 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java @@ -13,9 +13,10 @@ import com.casic.missiles.dto.equipment.AcceptanceCheckRequest; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentAcceptanceCheckMapper; @@ -183,7 +184,7 @@ public ReturnDTO addAcceptanceCheck(EquipmentApply equipmentApply) { Long maxNo = equipmentApplyMapper.selectMaxNo(); // 生成编号 - String applyNo = NumberGeneratorUtil.getContactNo("sbjxbyysd", maxNo); + String applyNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.REPAIR_MAINTAIN_PREFIX, maxNo); equipmentApply.setApplyNo(applyNo); // 草稿箱状态 equipmentApply.setApprovalStatus(ApprovalStatusEnum.DRAFT); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java index 38ad4e9..d468012 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java @@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.base.service.IBaseExportService; -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.IdDTO; @@ -20,6 +19,9 @@ import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java new file mode 100644 index 0000000..e196dda --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Builder; +import lombok.Data; + +/** + * @author cz + */ +@Data +@Builder +public class NotifyEventStatusDTO { + + /** + * 业务表主键 + */ + private String id; + /** + * 业务表状态 + */ + private String status; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java index 65c19e3..0f3e84f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java @@ -74,7 +74,7 @@ /** * 部门/科室/工程组名称 */ - @ExcelProperty("组织编号") + @ExcelProperty("组织名称") @ApiModelProperty(value = "计量组织名称", dataType = "String", required = true) @NotBlank(message = "计量组织名称不能为空") @TableField("organize_name") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java index 54dc5cd..244e431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java @@ -84,7 +84,7 @@ * 签名用户id(一个用户一个签名,签名不使用关联表,签章暂时使用和使用人的关联表) */ @TableField("sign_user_id") - private String signUserId; + private Long signUserId; /** * 签章或签名-字典code diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java index ca20ca4..0e94b9e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 2f97cb3..fdc4bf0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -3,7 +3,6 @@ import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -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; @@ -17,9 +16,10 @@ import com.casic.missiles.dto.flowable.ApprovalAgreeRequest; import com.casic.missiles.dto.flowable.ApprovalRefuseRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -42,10 +42,9 @@ */ @Service @AllArgsConstructor -public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { +public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService, CertificatePrintStatusEnum { private final IBaseApprovalService baseApprovalService; - private final AbstractDictService dictService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; @@ -86,7 +85,7 @@ } /** - * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 * * @return */ @@ -103,7 +102,7 @@ BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); //设置为不能打印 - certificateReport.setPrintStatus("2"); + certificateReport.setPrintStatus(NON_PRINTABLE); certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { @@ -113,7 +112,7 @@ } /** - * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 */ @Transactional @Override @@ -128,7 +127,7 @@ //审批状态为审批中 certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //打印状态审批中 - certificateReport.setPrintStatus("3"); + certificateReport.setPrintStatus(IN_APPROVAL); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -142,7 +141,7 @@ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)&&CollectionUtils.isEmpty(request.getIds())) { - handlerBeApproved(approvalList, page, request); + approvalList=handlerBeApproved(approvalList, page, request); }else { approvalList=this.baseMapper.selectBatchForApprovalList(page, request, null); } 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 d03ab22..164c53a 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,17 +7,22 @@ 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.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; -import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +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.MonitorCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -26,9 +31,9 @@ import com.casic.missiles.service.business.IBusinessCertificateReportService; import com.casic.missiles.service.business.IBusinessOriginalRecordService; import com.casic.missiles.service.flowable.ApprovalOperateService; -import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; +import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.runtime.ProcessInstance; @@ -68,8 +73,10 @@ private RuntimeService runtimeService; @Resource private IBaseExportService iBaseExportService; + /** * 保存证书报告信息 + * * @param certificateReport * @return */ @@ -77,7 +84,7 @@ public ReturnDTO saveCertificateReport(BusinessCertificateReport certificateReport) { initCertificateReport(certificateReport); - if(this.baseMapper.insert(certificateReport)>0) + if (this.baseMapper.insert(certificateReport) > 0) return ReturnUtil.success(); throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -90,9 +97,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //删除数据库记录 - if(this.baseMapper.deleteById(request.getId()) > 0){ + if (this.baseMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -101,7 +108,7 @@ @Override public ReturnDTO draftUpdate(BusinessCertificateReport certificateReport) { - if(this.baseMapper.updateById(certificateReport)>0){ + if (this.baseMapper.updateById(certificateReport) > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -109,25 +116,27 @@ /** * 批量删除 + * * @param ids * @return */ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - return baseMapper.deleteBatchIds(ids) > 0?ReturnUtil.success(): + return baseMapper.deleteBatchIds(ids) > 0 ? ReturnUtil.success() : ReturnUtil.failed("删除失败"); } /** * 证书报告详情 + * * @param id * @return */ @Override public BusinessCertificateReport certificateReportDetail(Long id) { BusinessCertificateReport certificateReport = this.baseMapper.selectById(id); - if(certificateReport.getOriginalRecordId()!=null){ + if (certificateReport.getOriginalRecordId() != null) { try { certificateReport.setBusinessOriginalRecord(originalRecordService.originalDetail(certificateReport.getOriginalRecordId())); } catch (Exception e) { @@ -139,6 +148,7 @@ /** * 提交证书报告 + * * @param request * @return */ @@ -148,10 +158,10 @@ String formId = request.getFormId(); //2.根据流程定义id启动流程实例 ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); certificateReport.setApprovalStatus(ApprovalStatusEnum.UN_DRAFT); //非草稿状态 @@ -165,6 +175,7 @@ /** * 审批状态列表查询 + * * @param page * @param request * @return @@ -182,6 +193,7 @@ /** * 驳回后更新 + * * @param certificateReport * @return */ @@ -208,13 +220,14 @@ @Override public void originExport(CertificateReportApprovalRequest request, HttpServletResponse response) { try { - //toDo: -// List certificateReportResponses = this.certificateReport(request); -// for (OriginRecordResponse originRecordResponse : originExportList) { -// //字典值转换 -// DictCodeUtils.convertDictCodeToName(originRecordResponse); -// } -// iBaseExportService.exportExcel(response, CertificateReportResponse.class, originExportList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); + //登录用户 + AuthUser user = ShiroKit.getUser(); + Assert.isFalse(Objects.isNull(user), () -> { + throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); + }); + request.setCreateUserId(user.getId()); + List reportResponseList = handleApprovalStatus(null, request); + iBaseExportService.exportExcel(response, CertificateReportResponse.class, reportResponseList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); } catch (Exception e) { log.error("证书报告导出出现异常,异常信息为{}", e); } @@ -231,15 +244,15 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -251,27 +264,27 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ - approvalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); + if (!CollectionUtils.isEmpty(businessKeys)) { + approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ - rejectApprovalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { + rejectApprovalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -279,7 +292,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.CANCELED); } break; @@ -288,10 +301,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleAllApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), AllApproveList); } break; @@ -299,9 +312,26 @@ return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List allApproveList) { - Map taskMap = new HashMap<>(); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + /** + * 客户、样品详情列表 + */ + @Override + public Page certificateRecordsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception { + Page page = PageFactory.defaultPage(); + Page certificateResponsePage = this.baseMapper.certificateRecordsById(page, customerSampleIdRequest); + for (CertificationResponse customerSampleListResponse : certificateResponsePage.getRecords()) { + if (!StringUtils.isEmpty(customerSampleListResponse.getCertificationClass())) { + DictCodeUtils.convertDictMultiCodeToName(customerSampleListResponse); + } + } + return certificateResponsePage; + } + + private List handleAllApprovalListResponse(List approvalList, List allApproveList) { + Map taskMap = new HashMap<>(); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -313,7 +343,7 @@ return approvalList.stream().sorted(Comparator.comparing(CertificateReportResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, String status){ + private List handleApprovalListResponse(List approvalList, String status) { approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); @@ -324,14 +354,14 @@ private void initCertificateReport(BusinessCertificateReport certificateReport) { String prefix = MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue() - +DateUtil.format(new Date(),"YYYYMM"); + + DateUtil.format(new Date(), "YYYYMM"); Long maxNo = this.baseMapper.selectMaxCode(prefix); //生成证书编号 - String certificateReportNo =NumberGeneratorUtil.getCode( - MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(),maxNo); + String certificateReportNo = NumberGeneratorUtil.getCode( + MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(), maxNo); AuthUser authUser = ShiroKit.getUser(); certificateReport.setCreateUser(authUser.getId()); - certificateReport.setMeasurePersonId(authUser.getId()+""); + certificateReport.setMeasurePersonId(authUser.getId() + ""); certificateReport.setMeasureDeptId(authUser.getDeptId()); certificateReport.setCertificateReportCode(certificateReportNo); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index c4ed5f6..5456773 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -12,13 +12,12 @@ import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; import com.casic.missiles.mapper.business.EnvironmentListResponseMapper; import com.casic.missiles.model.business.BusinessEnvironmentRecord; -import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 859010b..0d847a0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessInterchangeMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; @@ -35,7 +36,7 @@ * 业务管理-设备交接单 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @@ -83,7 +84,7 @@ } /** - * 更新不对样品有任何操作 + * 更新只是交接单的变更,没有任何其他单位的变化 */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { @@ -94,6 +95,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 交接单新增,同时在样品委托书管理表中新增交接单记录id + */ @Override @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { @@ -111,6 +115,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 选中判断ids存在,进行其他条件的清空 + */ @Override public void exportExchange(InterchangeListRequest request, HttpServletResponse response) { try { @@ -153,7 +160,7 @@ private void populationExchange(BusinessInterchange businessInterchange) { Long maxNo = this.baseMapper.selectMaxExchangeNo(); - String orderNo = NumberGeneratorUtil.getContactNo("jjdh", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.INTER_CHANGE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessInterchange.setCreateUser(authUser.getId()); businessInterchange.setInterchangeCode(orderNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java index 585a207..955cc7a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java @@ -13,19 +13,18 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.*; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.HandOutPropertyEnum; -import com.casic.missiles.enums.MeasureStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.HandOutPropertyEnum; +import com.casic.missiles.enums.business.MeasureStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.*; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; -import com.casic.missiles.model.business.BusinessLabExecutiveInfo; -import com.casic.missiles.model.business.BusinessLabExecutiveOperateLog; -import com.casic.missiles.model.business.BusinessLabExecutiveTemplateInfo; +import com.casic.missiles.model.business.*; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; import com.casic.missiles.service.business.IBusinessLabExecutiveTemplateInfoService; @@ -71,6 +70,8 @@ private AbstractDictService dictService; @Autowired private MeterStaffMapper staffMapper; + @Autowired + private BusinessOrderMapper orderMapper; @Override public Page handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) throws Exception{ @@ -377,7 +378,9 @@ if(CollectionUtils.isEmpty(unExecutiveInfos)){ //更新样品状态为检测完 orderSampleRelationMapper.updateByOrderIdAndSampleId(pre.getOrderId(), pre.getSampleId(), SampleStatusEnum.MEASURE_COMPLETE); - // TODO: 2023/2/17 委托书中所有样品检测完更新委托书接收状态为检测完成,需求待定 + + //委托书中所有样品检测完更新委托书接收状态为检测完成,未检测完的数量为0则表示全部检完 + updateOrderStatusComplete(pre); //将检测记录加入到实验室检测模板(仅全部为检测完成的才加入到模板,包含终止的不会加入) List labList = new ArrayList<>(); @@ -407,9 +410,27 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + @Transactional + public void updateOrderStatusComplete(SampleOperateRequest pre) { + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("order_id", pre.getOrderId()); + List statusList = new ArrayList<>(); + statusList.add(SampleStatusEnum.TO_RECEIVE); + statusList.add(SampleStatusEnum.TO_HANDOUT); + statusList.add(SampleStatusEnum.IN_MEASURE); + wrapper1.in("sample_status", statusList); + //同一事务中可查到更新后的数量 + if(orderSampleRelationMapper.selectCount(wrapper1) == 0){ + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(pre.getOrderId()); + businessOrder.setStatus(OrderStatusEnum.COMPLETE); + orderMapper.updateById(businessOrder); + } + } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + String templateCode = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.LAB_EXECUTIVE_TEMPLATE_PREFIX, maxNo + i); templateInfo.setTemplateCode(templateCode); // templateInfo.setSampleTypeId(); templateInfo.setSampleId(lab.getSampleId()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index f5c6f61..1d63554 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -14,6 +14,10 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; +import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; @@ -35,7 +39,6 @@ import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -45,12 +48,12 @@ * 业务管理-委托书 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @AllArgsConstructor -public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { +public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService,PrefixCodeEnum, OrderStatusEnum,SampleStatusEnum, MeasureTypeEnum { private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; @@ -90,8 +93,10 @@ List customerSampleList = new ArrayList<>(); for (BusinessOrderSampleRelation orderSample : orderSampleList) { CustomerSampleInfo customerSampleInfo = customerSampleService.sampleDetail(orderSample.getSampleId()); - customerSampleInfo.setIsExistSample("1"); - customerSampleList.add(customerSampleInfo); + if (null != customerSampleInfo) { + customerSampleInfo.setIsExistSample("1"); + customerSampleList.add(customerSampleInfo); + } } businessOrder.setCustomerSampleInfoList(customerSampleList); return businessOrder; @@ -202,7 +207,13 @@ @Override public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); - String dealType = "委托书" + ((status.equals("2")) ? "接收" : "退回"); + String dealType = ""; + if (status.equals(ALREADY_RECEIVED)) { + dealType = "委托书接收" ; + doUpdateSampleStatus(orderCancelRequest.getId(),TO_RECEIVE); + } else { + dealType = "委托书退回"; + } int addDealRecordFlag = addDealRecord(orderCancelRequest, dealType); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -216,7 +227,7 @@ @Override @Transactional public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { - int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), ALREADY_CANCEL); int addDealRecordFlag = addDealRecord(orderCancelRequest, "委托书取消"); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -250,6 +261,7 @@ return dealRecordMapper.insert(businessDealRecord); } + /** * 强调正在做状态更新 */ @@ -280,12 +292,12 @@ private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); - String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(ORDER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); - businessOrder.setStatus("1"); + businessOrder.setStatus(NOT_RECEIVED); } /** @@ -320,10 +332,23 @@ sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); - sampleStatusPopulation.setMeasureType("1"); + sampleStatusPopulation.setMeasureType(INSIDE_MEASURE); return this.sampleRelationMapper.insert(sampleStatusPopulation); } + /** + * 强调正在做状态更新 + */ + private int doUpdateSampleStatus(Long orderId, String sampleStatus) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", orderId); + BusinessOrderSampleRelation orderSample = new BusinessOrderSampleRelation(); + orderSample.setId(orderId); + orderSample.setSampleStatus(sampleStatus); + return this.sampleRelationMapper.update(orderSample, queryWrapper); + } + + private void doSampleListPopulation(BusinessOrder businessOrder) { businessOrder.getCustomerSampleInfoList().forEach( customerSampleInfo -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java index 1e35b7a..1c602b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java @@ -131,7 +131,7 @@ @Override public ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord) { - if (this.baseMapper.insert(businessOriginalRecord) > 0) { + if (this.baseMapper.updateById(businessOriginalRecord) > 0) { //加入技术文件绑定 if (ObjectUtil.isNotEmpty(businessOriginalRecord.getFileList()) && businessOriginalRecord.getFileList().size() > 0) { originalRecordFileRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getFileList()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java index 07c88e9..c9c1902 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.date.DateUtil; import com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -14,6 +15,7 @@ import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; @@ -29,6 +31,7 @@ import org.springframework.util.ObjectUtils; import javax.servlet.http.HttpServletResponse; +import java.util.Date; import java.util.List; import java.util.Objects; import java.util.Optional; @@ -39,7 +42,7 @@ @Service @Slf4j @AllArgsConstructor -public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService { +public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService, SampleStatusEnum, CurrentSegmentEnum, MeasureTypeEnum { private final BusinessOrderSampleRelationMapper orderSampleRelationMapper; private final BusinessCertificateReportMapper certificateReportMapper; @@ -73,20 +76,20 @@ Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.TO_HANDOUT: + case TO_HANDOUT: //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 - case SampleStatusEnum.IN_MEASURE: + case IN_MEASURE: //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.MEASURE_COMPLETE: + case MEASURE_COMPLETE: doDispatchVoPopulation(dispatchVO, sampleId, orderId); return; //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 - case SampleStatusEnum.BE_OVERDUE: + case BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); @@ -126,12 +129,14 @@ /** - * 状态更新 + * 根据sampleId,orderId,进行状态更新 */ @Override + @Transactional public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { + boolean beforeEventFlag = beforeStatusChange(deviceStatusChangeDTO); Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFlag > 0) { + if (updateFlag > 0 && beforeEventFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -181,8 +186,9 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); +// queryWrapper.ne("order_id", deviceStatusChangeDTO.getOrderId()); BusinessLabExecutiveInfo businessLabExecutiveInfo = new BusinessLabExecutiveInfo(); - businessLabExecutiveInfo.setMeasureStatus(deviceStatusChangeDTO.getStatus()); +// businessLabExecutiveInfo.setMeasureStatus(); businessLabExecutiveInfo.setRemark(deviceStatusChangeDTO.getReason()); labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } @@ -214,6 +220,9 @@ return handOutLabExecutiveDTOOptional.orElse(null); } + /** + * 构建证书的查询条件 + */ private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("order_id", dispatchVO.getOrderId()); @@ -230,7 +239,8 @@ queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); if (terminateFlag) { - queryWrapper.eq("sample_status", "2").or().eq("sample_status", "3").or().eq("sample_status", "4"); + //若是终止,需要对应待分发、检测中、检测完三个状态的变更 + queryWrapper.eq("sample_status", TO_HANDOUT).or().eq("sample_status", IN_MEASURE).or().eq("sample_status", MEASURE_COMPLETE); } BusinessOrderSampleRelation businessOrderSampleRelation = new BusinessOrderSampleRelation(); businessOrderSampleRelation.setSampleStatus(statusChangeDTO.getStatus()); @@ -238,12 +248,12 @@ } /** - * 判断不是自检 + * 判断不是自检,即外包和外检,进行环节设定 */ private boolean notSelfMeasure(DeviceDispatchVO dispatchVO) { if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType())) { - if (MeasureStatusEnum.TO_ALLOCATE.equals(String.valueOf(dispatchVO.getMeasureType())) || MeasureStatusEnum.TO_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { - String currentSegment = MeasureStatusEnum.TO_ALLOCATE.equals(dispatchVO.getMeasureType()) ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; + if (OTHERS_UNDERTAKE.equals(String.valueOf(dispatchVO.getMeasureType())) || OUTSIDE_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { + String currentSegment = OTHERS_UNDERTAKE.equals(dispatchVO.getMeasureType()) ? OUT_UNDERTAKE : OUT_MESASUR; dispatchVO.setCurrentSegment(currentSegment); return true; } @@ -251,6 +261,9 @@ return false; } + /** + * 其他条件的置为空 + */ private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { request.setSampleName(null); request.setSampleNo(null); @@ -264,18 +277,38 @@ } /** - * 判断样品是完成或接收状态,直接显示即可 + * 判断样品是完成或接收状态,进行当前阶段环节的设置 */ private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { - if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + if (TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_INCOME); return true; } - if (SampleStatusEnum.TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); + if (TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_ALLOCATE); return true; } return false; } + private boolean beforeStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(TO_INCOME)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + List orderSampleRelationList = this.orderSampleRelationMapper.selectList(queryWrapper); + Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); + if (orderSampleRelationOptional.isPresent()) { + BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); + if (businessOrderSampleRelation.getSampleStatus().equals(TO_ALLOCATE)) { + BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); + businessOrderSample.setRealDeliverTime(DateUtil.format(new Date(), "yyyy-MM-dd")); + int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); + return updateFlag > 0 ? true : false; + } + } + } + return true; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java index 4f06678..e2fea21 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerAdviceMapper; import com.casic.missiles.mapper.customer.CustomerMapper; @@ -34,7 +35,7 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerAdviceServiceImpl implements CustomerAdviceService { +public class CustomerAdviceServiceImpl implements CustomerAdviceService,PrefixCodeEnum { private final CustomerAdviceMapper customerAdviceMapper; private final IBaseExportService iBaseExportService; @@ -122,7 +123,7 @@ private void initCustomerAdviceInfo(CustomerAdviceInfo customerAdviceInfo) { Long maxNo = customerAdviceMapper.selectMaxAdviceNo(); - String adviceNo = NumberGeneratorUtil.getContactNo("khjy", maxNo); + String adviceNo = NumberGeneratorUtil.getContactNo(CUSTOMER_ADVICE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerAdviceInfo.setCreateUser(authUser.getId()); customerAdviceInfo.setUpdateUser(authUser.getId()); 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 4889e55..f9747dd 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 @@ -10,18 +10,19 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.sample.CertificationExpireStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; import com.casic.missiles.mapper.customer.CustomerMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerSampleListResponseMapper; import com.casic.missiles.mapper.customer.CustomerSampleMapper; -import com.casic.missiles.mapper.customer.customize.MesureRecordsResponseMapper; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -42,13 +43,11 @@ @Service @AllArgsConstructor -public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService { +public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService, CertificationExpireStatusEnum,PrefixCodeEnum{ private final CustomerSampleListResponseMapper customerSampleListResponseMapper; private final CustomerMapper customerMapper; private final IBaseExportService iBaseExportService; - private final CertificationResponseMapper certificationResponseMapper; - private final MesureRecordsResponseMapper mesureResponseMapper; private final BusinessOrderSampleRelationMapper sampleRelationMapper; @Override @@ -58,14 +57,14 @@ customerSamplePage.getRecords() .forEach(customerSample -> { BusinessOrderSampleRelation businessOrderSampleRelation = this.getSampleStatusById(customerSample.getId()); + customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); - customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); } }); for (CustomerSampleListResponse customerSampleListResponse : customerSamplePage.getRecords()) { - if (!StringUtils.isEmpty(customerSampleListResponse.getSampleSatus())) { + if (!StringUtils.isEmpty(customerSampleListResponse.getSampleStatus())) { DictCodeUtils.convertDictCodeToName(customerSampleListResponse); } } @@ -106,14 +105,13 @@ public CustomerSampleInfo sampleDetail(Long id) { CustomerSampleInfo customerSampleInfo = this.baseMapper.selectById(id); if (!ObjectUtils.isEmpty(customerSampleInfo)) { - doCustomerSampleInfoPopulation(customerSampleInfo); + doPopulateCustomerSampleInfo(customerSampleInfo); } return customerSampleInfo; } /** * 只导出样品列表信息 - * */ @Override public void sampleExport(CustomerSampleListRequest request, HttpServletResponse response) { @@ -135,7 +133,7 @@ BusinessOrderSampleRelation businessOrderSampleRelation = businessOrderMap.get(customerSample.getId()); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); } } @@ -159,26 +157,16 @@ } @Override - public Page measureRecordsBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page measureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); + public Page measureRecordsById(CustomerSampleIdRequest customerSampleIdRequest) { + Page page = PageFactory.defaultPage(); + Page measureRecordsResponsePage = this.baseMapper.measureRecordsById(page, customerSampleIdRequest); return measureRecordsResponsePage; } - @Override - public Page certificationBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page certificateResponsePage = certificationResponseMapper.selectPage(page, wrapper); - return certificateResponsePage; - } @Override - public Page samplesByOderId(Page page,Long orderId, String sampleNo, String sampleName) { - return this.baseMapper.samplesByOderId(page,orderId,sampleNo,sampleName); + public Page samplesByOderId(Page page, Long orderId, String sampleNo, String sampleName) { + return this.baseMapper.samplesByOderId(page, orderId, sampleNo, sampleName); } private BusinessOrderSampleRelation getSampleStatusById(Long sampleId) { @@ -190,9 +178,12 @@ return orderSampleOptional.isPresent() ? orderSampleOptional.get() : null; } + /** + * 初始化样品状态 + */ private void initSample(CustomerSampleInfo customerSampleInfo) { Long maxNo = this.baseMapper.selectMaxSampleNo(); - String sampleNo = NumberGeneratorUtil.getContactNo("khyp", maxNo); + String sampleNo = NumberGeneratorUtil.getContactNo(SAMPLE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setSampleNo(sampleNo); customerSampleInfo.setCreateUser(authUser.getId()); @@ -202,7 +193,6 @@ private QueryWrapper listParamWrapper(CustomerSampleListRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.select("id,sample_no,sample_name,sample_model,manufacturing_no,customer_id,measure_period,measure_last_time,remark,valid_deadline"); queryWrapper.like(StringUtils.isNotBlank(request.getSampleNo()), "sample_no", request.getSampleNo()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleName()), "sample_name", request.getSampleName()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleBelong()), "sample_belong", request.getSampleBelong()); @@ -210,9 +200,10 @@ queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); if (!StringUtils.isEmpty(request.getOvertimeStatus())) { - queryWrapper.apply(request.getOvertimeStatus().equals("1"), + queryWrapper.apply("1".equals(request.getOvertimeStatus()), + "sysdate() > DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); - queryWrapper.apply(request.getOvertimeStatus().equals("0"), + queryWrapper.apply("0".equals(request.getOvertimeStatus()), "sysdate() <= DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); } queryWrapper.apply(StringUtils.isNotBlank(request.getStartTime()), @@ -224,24 +215,30 @@ return queryWrapper; } + /** + * 通过证书到期时间进行到期状态的计算 + */ private String calculateCertificationStatus(String validDeadline) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if (StringUtils.isEmpty(validDeadline)) { - return "0"; + return NORMAL; } - if (validDeadline.compareTo(sdf.format(new Date())) > 0) { - return "2"; + if (validDeadline.compareTo(sdf.format(new Date())) < 0) { + return ALREADY_EXPIRE; } Calendar date = Calendar.getInstance(); date.setTime(new Date()); date.add(Calendar.DAY_OF_MONTH, -30); - if (validDeadline.compareTo(sdf.format(date.getTime())) > 0) { - return "1"; + if (validDeadline.compareTo(sdf.format(date.getTime())) < 0) { + return ALMOST_EXPIRE; } - return "0"; + return NORMAL; } - private void doCustomerSampleInfoPopulation(CustomerSampleInfo customerSampleInfo) { + /** + * 对样品列表的进行供应商联系方式的填充 + */ + private void doPopulateCustomerSampleInfo(CustomerSampleInfo customerSampleInfo) { CustomerInfo customerInfo = customerMapper.selectById(customerSampleInfo.getCustomerId()); if (!ObjectUtils.isEmpty(customerInfo)) { customerSampleInfo.setPhone(customerInfo.getPhone()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java index 32d4dee..f6e1f8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java @@ -11,13 +11,12 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerMapper; import com.casic.missiles.mapper.customer.CustomerUserMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerInfoResponseMapper; import com.casic.missiles.mapper.customer.customize.SampleRecordsResponseMapper; import com.casic.missiles.model.customer.CustomerInfo; @@ -38,11 +37,10 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerServiceImpl extends ServiceImpl implements CustomerService { +public class CustomerServiceImpl extends ServiceImpl implements CustomerService,PrefixCodeEnum { private final SampleRecordsResponseMapper sampleRecordsResponseMapper; private final CustomerUserMapper customerUserMapper; - private final CertificationResponseMapper certificationMapper; private final IBaseExportService iBaseExportService; private final CustomerInfoResponseMapper customerInfoResponseMapper; @@ -126,18 +124,9 @@ return contractRecordsResponsePage; } - @Override//暂定不做 - public Page mesureRecordsByCustomerId(Long customerId) { - Page measureRecordsResponsePage = PageFactory.defaultPage(); - return measureRecordsResponsePage; - } - @Override public Page certificationByCustomerId(Long customerId) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("customer_id", customerId); - return certificationMapper.selectPage(page, wrapper); + return null; } @Override @@ -163,8 +152,7 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); - queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "bussiness_size", request.getBusinessSize()); - queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); + queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "business_size", request.getBusinessSize()); queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); queryWrapper.eq("is_del", 0); return queryWrapper; @@ -172,7 +160,7 @@ private void initCustomerInfo(CustomerInfo customerInfo) { Long maxNo = this.baseMapper.selectMaxCustomerNo(); - String customerNo = NumberGeneratorUtil.getContactNo("khxx", maxNo); + String customerNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CUSTOMER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerInfo.setCreateUser(authUser.getId()); customerInfo.setUpdateUser(authUser.getId()); @@ -196,7 +184,7 @@ boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { customerUserInfo.setCustomerId(id); - String customerNo = NumberGeneratorUtil.getContactNo("khyh", maxUserNo++); + String customerNo = NumberGeneratorUtil.getContactNo(CUSTOMER_USER_PREFIX, maxUserNo++); customerUserInfo.setUserNo(customerNo); int userAddNum = customerUserMapper.insert(customerUserInfo); if (userAddNum <= 0) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java index d81a488..77e4caf 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java @@ -13,9 +13,10 @@ import com.casic.missiles.dto.equipment.AcceptanceCheckRequest; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentAcceptanceCheckMapper; @@ -183,7 +184,7 @@ public ReturnDTO addAcceptanceCheck(EquipmentApply equipmentApply) { Long maxNo = equipmentApplyMapper.selectMaxNo(); // 生成编号 - String applyNo = NumberGeneratorUtil.getContactNo("sbjxbyysd", maxNo); + String applyNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.REPAIR_MAINTAIN_PREFIX, maxNo); equipmentApply.setApplyNo(applyNo); // 草稿箱状态 equipmentApply.setApprovalStatus(ApprovalStatusEnum.DRAFT); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java index 38ad4e9..d468012 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java @@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.base.service.IBaseExportService; -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.IdDTO; @@ -20,6 +19,9 @@ import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java index 7c4fdbc..e6a1ff8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.equipment.CheckInfoRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoFileMapper; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoMapper; @@ -79,7 +80,7 @@ @Transactional public ReturnDTO addCheckInfo(EquipmentCheckInfo equipmentCheckInfo) { long maxNo = equipmentCheckInfoMapper.selectMaxNo(); - String checkNo = NumberGeneratorUtil.getContactNo("jc", maxNo); + String checkNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CHECK_PREFIX, maxNo); equipmentCheckInfo.setCheckNo(checkNo); if(equipmentCheckInfoMapper.insert(equipmentCheckInfo) > 0){ Long id = equipmentCheckInfo.getId(); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java new file mode 100644 index 0000000..e196dda --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Builder; +import lombok.Data; + +/** + * @author cz + */ +@Data +@Builder +public class NotifyEventStatusDTO { + + /** + * 业务表主键 + */ + private String id; + /** + * 业务表状态 + */ + private String status; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java index 65c19e3..0f3e84f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java @@ -74,7 +74,7 @@ /** * 部门/科室/工程组名称 */ - @ExcelProperty("组织编号") + @ExcelProperty("组织名称") @ApiModelProperty(value = "计量组织名称", dataType = "String", required = true) @NotBlank(message = "计量组织名称不能为空") @TableField("organize_name") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java index 54dc5cd..244e431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java @@ -84,7 +84,7 @@ * 签名用户id(一个用户一个签名,签名不使用关联表,签章暂时使用和使用人的关联表) */ @TableField("sign_user_id") - private String signUserId; + private Long signUserId; /** * 签章或签名-字典code diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java index ca20ca4..0e94b9e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 2f97cb3..fdc4bf0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -3,7 +3,6 @@ import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -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; @@ -17,9 +16,10 @@ import com.casic.missiles.dto.flowable.ApprovalAgreeRequest; import com.casic.missiles.dto.flowable.ApprovalRefuseRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -42,10 +42,9 @@ */ @Service @AllArgsConstructor -public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { +public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService, CertificatePrintStatusEnum { private final IBaseApprovalService baseApprovalService; - private final AbstractDictService dictService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; @@ -86,7 +85,7 @@ } /** - * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 * * @return */ @@ -103,7 +102,7 @@ BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); //设置为不能打印 - certificateReport.setPrintStatus("2"); + certificateReport.setPrintStatus(NON_PRINTABLE); certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { @@ -113,7 +112,7 @@ } /** - * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 */ @Transactional @Override @@ -128,7 +127,7 @@ //审批状态为审批中 certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //打印状态审批中 - certificateReport.setPrintStatus("3"); + certificateReport.setPrintStatus(IN_APPROVAL); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -142,7 +141,7 @@ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)&&CollectionUtils.isEmpty(request.getIds())) { - handlerBeApproved(approvalList, page, request); + approvalList=handlerBeApproved(approvalList, page, request); }else { approvalList=this.baseMapper.selectBatchForApprovalList(page, request, null); } 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 d03ab22..164c53a 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,17 +7,22 @@ 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.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; -import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +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.MonitorCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -26,9 +31,9 @@ import com.casic.missiles.service.business.IBusinessCertificateReportService; import com.casic.missiles.service.business.IBusinessOriginalRecordService; import com.casic.missiles.service.flowable.ApprovalOperateService; -import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; +import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.runtime.ProcessInstance; @@ -68,8 +73,10 @@ private RuntimeService runtimeService; @Resource private IBaseExportService iBaseExportService; + /** * 保存证书报告信息 + * * @param certificateReport * @return */ @@ -77,7 +84,7 @@ public ReturnDTO saveCertificateReport(BusinessCertificateReport certificateReport) { initCertificateReport(certificateReport); - if(this.baseMapper.insert(certificateReport)>0) + if (this.baseMapper.insert(certificateReport) > 0) return ReturnUtil.success(); throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -90,9 +97,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //删除数据库记录 - if(this.baseMapper.deleteById(request.getId()) > 0){ + if (this.baseMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -101,7 +108,7 @@ @Override public ReturnDTO draftUpdate(BusinessCertificateReport certificateReport) { - if(this.baseMapper.updateById(certificateReport)>0){ + if (this.baseMapper.updateById(certificateReport) > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -109,25 +116,27 @@ /** * 批量删除 + * * @param ids * @return */ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - return baseMapper.deleteBatchIds(ids) > 0?ReturnUtil.success(): + return baseMapper.deleteBatchIds(ids) > 0 ? ReturnUtil.success() : ReturnUtil.failed("删除失败"); } /** * 证书报告详情 + * * @param id * @return */ @Override public BusinessCertificateReport certificateReportDetail(Long id) { BusinessCertificateReport certificateReport = this.baseMapper.selectById(id); - if(certificateReport.getOriginalRecordId()!=null){ + if (certificateReport.getOriginalRecordId() != null) { try { certificateReport.setBusinessOriginalRecord(originalRecordService.originalDetail(certificateReport.getOriginalRecordId())); } catch (Exception e) { @@ -139,6 +148,7 @@ /** * 提交证书报告 + * * @param request * @return */ @@ -148,10 +158,10 @@ String formId = request.getFormId(); //2.根据流程定义id启动流程实例 ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); certificateReport.setApprovalStatus(ApprovalStatusEnum.UN_DRAFT); //非草稿状态 @@ -165,6 +175,7 @@ /** * 审批状态列表查询 + * * @param page * @param request * @return @@ -182,6 +193,7 @@ /** * 驳回后更新 + * * @param certificateReport * @return */ @@ -208,13 +220,14 @@ @Override public void originExport(CertificateReportApprovalRequest request, HttpServletResponse response) { try { - //toDo: -// List certificateReportResponses = this.certificateReport(request); -// for (OriginRecordResponse originRecordResponse : originExportList) { -// //字典值转换 -// DictCodeUtils.convertDictCodeToName(originRecordResponse); -// } -// iBaseExportService.exportExcel(response, CertificateReportResponse.class, originExportList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); + //登录用户 + AuthUser user = ShiroKit.getUser(); + Assert.isFalse(Objects.isNull(user), () -> { + throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); + }); + request.setCreateUserId(user.getId()); + List reportResponseList = handleApprovalStatus(null, request); + iBaseExportService.exportExcel(response, CertificateReportResponse.class, reportResponseList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); } catch (Exception e) { log.error("证书报告导出出现异常,异常信息为{}", e); } @@ -231,15 +244,15 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -251,27 +264,27 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ - approvalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); + if (!CollectionUtils.isEmpty(businessKeys)) { + approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ - rejectApprovalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { + rejectApprovalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -279,7 +292,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.CANCELED); } break; @@ -288,10 +301,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleAllApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), AllApproveList); } break; @@ -299,9 +312,26 @@ return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List allApproveList) { - Map taskMap = new HashMap<>(); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + /** + * 客户、样品详情列表 + */ + @Override + public Page certificateRecordsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception { + Page page = PageFactory.defaultPage(); + Page certificateResponsePage = this.baseMapper.certificateRecordsById(page, customerSampleIdRequest); + for (CertificationResponse customerSampleListResponse : certificateResponsePage.getRecords()) { + if (!StringUtils.isEmpty(customerSampleListResponse.getCertificationClass())) { + DictCodeUtils.convertDictMultiCodeToName(customerSampleListResponse); + } + } + return certificateResponsePage; + } + + private List handleAllApprovalListResponse(List approvalList, List allApproveList) { + Map taskMap = new HashMap<>(); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -313,7 +343,7 @@ return approvalList.stream().sorted(Comparator.comparing(CertificateReportResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, String status){ + private List handleApprovalListResponse(List approvalList, String status) { approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); @@ -324,14 +354,14 @@ private void initCertificateReport(BusinessCertificateReport certificateReport) { String prefix = MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue() - +DateUtil.format(new Date(),"YYYYMM"); + + DateUtil.format(new Date(), "YYYYMM"); Long maxNo = this.baseMapper.selectMaxCode(prefix); //生成证书编号 - String certificateReportNo =NumberGeneratorUtil.getCode( - MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(),maxNo); + String certificateReportNo = NumberGeneratorUtil.getCode( + MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(), maxNo); AuthUser authUser = ShiroKit.getUser(); certificateReport.setCreateUser(authUser.getId()); - certificateReport.setMeasurePersonId(authUser.getId()+""); + certificateReport.setMeasurePersonId(authUser.getId() + ""); certificateReport.setMeasureDeptId(authUser.getDeptId()); certificateReport.setCertificateReportCode(certificateReportNo); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index c4ed5f6..5456773 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -12,13 +12,12 @@ import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; import com.casic.missiles.mapper.business.EnvironmentListResponseMapper; import com.casic.missiles.model.business.BusinessEnvironmentRecord; -import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 859010b..0d847a0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessInterchangeMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; @@ -35,7 +36,7 @@ * 业务管理-设备交接单 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @@ -83,7 +84,7 @@ } /** - * 更新不对样品有任何操作 + * 更新只是交接单的变更,没有任何其他单位的变化 */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { @@ -94,6 +95,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 交接单新增,同时在样品委托书管理表中新增交接单记录id + */ @Override @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { @@ -111,6 +115,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 选中判断ids存在,进行其他条件的清空 + */ @Override public void exportExchange(InterchangeListRequest request, HttpServletResponse response) { try { @@ -153,7 +160,7 @@ private void populationExchange(BusinessInterchange businessInterchange) { Long maxNo = this.baseMapper.selectMaxExchangeNo(); - String orderNo = NumberGeneratorUtil.getContactNo("jjdh", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.INTER_CHANGE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessInterchange.setCreateUser(authUser.getId()); businessInterchange.setInterchangeCode(orderNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java index 585a207..955cc7a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java @@ -13,19 +13,18 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.*; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.HandOutPropertyEnum; -import com.casic.missiles.enums.MeasureStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.HandOutPropertyEnum; +import com.casic.missiles.enums.business.MeasureStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.*; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; -import com.casic.missiles.model.business.BusinessLabExecutiveInfo; -import com.casic.missiles.model.business.BusinessLabExecutiveOperateLog; -import com.casic.missiles.model.business.BusinessLabExecutiveTemplateInfo; +import com.casic.missiles.model.business.*; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; import com.casic.missiles.service.business.IBusinessLabExecutiveTemplateInfoService; @@ -71,6 +70,8 @@ private AbstractDictService dictService; @Autowired private MeterStaffMapper staffMapper; + @Autowired + private BusinessOrderMapper orderMapper; @Override public Page handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) throws Exception{ @@ -377,7 +378,9 @@ if(CollectionUtils.isEmpty(unExecutiveInfos)){ //更新样品状态为检测完 orderSampleRelationMapper.updateByOrderIdAndSampleId(pre.getOrderId(), pre.getSampleId(), SampleStatusEnum.MEASURE_COMPLETE); - // TODO: 2023/2/17 委托书中所有样品检测完更新委托书接收状态为检测完成,需求待定 + + //委托书中所有样品检测完更新委托书接收状态为检测完成,未检测完的数量为0则表示全部检完 + updateOrderStatusComplete(pre); //将检测记录加入到实验室检测模板(仅全部为检测完成的才加入到模板,包含终止的不会加入) List labList = new ArrayList<>(); @@ -407,9 +410,27 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + @Transactional + public void updateOrderStatusComplete(SampleOperateRequest pre) { + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("order_id", pre.getOrderId()); + List statusList = new ArrayList<>(); + statusList.add(SampleStatusEnum.TO_RECEIVE); + statusList.add(SampleStatusEnum.TO_HANDOUT); + statusList.add(SampleStatusEnum.IN_MEASURE); + wrapper1.in("sample_status", statusList); + //同一事务中可查到更新后的数量 + if(orderSampleRelationMapper.selectCount(wrapper1) == 0){ + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(pre.getOrderId()); + businessOrder.setStatus(OrderStatusEnum.COMPLETE); + orderMapper.updateById(businessOrder); + } + } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + String templateCode = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.LAB_EXECUTIVE_TEMPLATE_PREFIX, maxNo + i); templateInfo.setTemplateCode(templateCode); // templateInfo.setSampleTypeId(); templateInfo.setSampleId(lab.getSampleId()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index f5c6f61..1d63554 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -14,6 +14,10 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; +import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; @@ -35,7 +39,6 @@ import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -45,12 +48,12 @@ * 业务管理-委托书 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @AllArgsConstructor -public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { +public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService,PrefixCodeEnum, OrderStatusEnum,SampleStatusEnum, MeasureTypeEnum { private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; @@ -90,8 +93,10 @@ List customerSampleList = new ArrayList<>(); for (BusinessOrderSampleRelation orderSample : orderSampleList) { CustomerSampleInfo customerSampleInfo = customerSampleService.sampleDetail(orderSample.getSampleId()); - customerSampleInfo.setIsExistSample("1"); - customerSampleList.add(customerSampleInfo); + if (null != customerSampleInfo) { + customerSampleInfo.setIsExistSample("1"); + customerSampleList.add(customerSampleInfo); + } } businessOrder.setCustomerSampleInfoList(customerSampleList); return businessOrder; @@ -202,7 +207,13 @@ @Override public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); - String dealType = "委托书" + ((status.equals("2")) ? "接收" : "退回"); + String dealType = ""; + if (status.equals(ALREADY_RECEIVED)) { + dealType = "委托书接收" ; + doUpdateSampleStatus(orderCancelRequest.getId(),TO_RECEIVE); + } else { + dealType = "委托书退回"; + } int addDealRecordFlag = addDealRecord(orderCancelRequest, dealType); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -216,7 +227,7 @@ @Override @Transactional public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { - int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), ALREADY_CANCEL); int addDealRecordFlag = addDealRecord(orderCancelRequest, "委托书取消"); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -250,6 +261,7 @@ return dealRecordMapper.insert(businessDealRecord); } + /** * 强调正在做状态更新 */ @@ -280,12 +292,12 @@ private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); - String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(ORDER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); - businessOrder.setStatus("1"); + businessOrder.setStatus(NOT_RECEIVED); } /** @@ -320,10 +332,23 @@ sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); - sampleStatusPopulation.setMeasureType("1"); + sampleStatusPopulation.setMeasureType(INSIDE_MEASURE); return this.sampleRelationMapper.insert(sampleStatusPopulation); } + /** + * 强调正在做状态更新 + */ + private int doUpdateSampleStatus(Long orderId, String sampleStatus) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", orderId); + BusinessOrderSampleRelation orderSample = new BusinessOrderSampleRelation(); + orderSample.setId(orderId); + orderSample.setSampleStatus(sampleStatus); + return this.sampleRelationMapper.update(orderSample, queryWrapper); + } + + private void doSampleListPopulation(BusinessOrder businessOrder) { businessOrder.getCustomerSampleInfoList().forEach( customerSampleInfo -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java index 1e35b7a..1c602b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java @@ -131,7 +131,7 @@ @Override public ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord) { - if (this.baseMapper.insert(businessOriginalRecord) > 0) { + if (this.baseMapper.updateById(businessOriginalRecord) > 0) { //加入技术文件绑定 if (ObjectUtil.isNotEmpty(businessOriginalRecord.getFileList()) && businessOriginalRecord.getFileList().size() > 0) { originalRecordFileRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getFileList()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java index 07c88e9..c9c1902 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.date.DateUtil; import com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -14,6 +15,7 @@ import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; @@ -29,6 +31,7 @@ import org.springframework.util.ObjectUtils; import javax.servlet.http.HttpServletResponse; +import java.util.Date; import java.util.List; import java.util.Objects; import java.util.Optional; @@ -39,7 +42,7 @@ @Service @Slf4j @AllArgsConstructor -public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService { +public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService, SampleStatusEnum, CurrentSegmentEnum, MeasureTypeEnum { private final BusinessOrderSampleRelationMapper orderSampleRelationMapper; private final BusinessCertificateReportMapper certificateReportMapper; @@ -73,20 +76,20 @@ Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.TO_HANDOUT: + case TO_HANDOUT: //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 - case SampleStatusEnum.IN_MEASURE: + case IN_MEASURE: //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.MEASURE_COMPLETE: + case MEASURE_COMPLETE: doDispatchVoPopulation(dispatchVO, sampleId, orderId); return; //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 - case SampleStatusEnum.BE_OVERDUE: + case BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); @@ -126,12 +129,14 @@ /** - * 状态更新 + * 根据sampleId,orderId,进行状态更新 */ @Override + @Transactional public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { + boolean beforeEventFlag = beforeStatusChange(deviceStatusChangeDTO); Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFlag > 0) { + if (updateFlag > 0 && beforeEventFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -181,8 +186,9 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); +// queryWrapper.ne("order_id", deviceStatusChangeDTO.getOrderId()); BusinessLabExecutiveInfo businessLabExecutiveInfo = new BusinessLabExecutiveInfo(); - businessLabExecutiveInfo.setMeasureStatus(deviceStatusChangeDTO.getStatus()); +// businessLabExecutiveInfo.setMeasureStatus(); businessLabExecutiveInfo.setRemark(deviceStatusChangeDTO.getReason()); labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } @@ -214,6 +220,9 @@ return handOutLabExecutiveDTOOptional.orElse(null); } + /** + * 构建证书的查询条件 + */ private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("order_id", dispatchVO.getOrderId()); @@ -230,7 +239,8 @@ queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); if (terminateFlag) { - queryWrapper.eq("sample_status", "2").or().eq("sample_status", "3").or().eq("sample_status", "4"); + //若是终止,需要对应待分发、检测中、检测完三个状态的变更 + queryWrapper.eq("sample_status", TO_HANDOUT).or().eq("sample_status", IN_MEASURE).or().eq("sample_status", MEASURE_COMPLETE); } BusinessOrderSampleRelation businessOrderSampleRelation = new BusinessOrderSampleRelation(); businessOrderSampleRelation.setSampleStatus(statusChangeDTO.getStatus()); @@ -238,12 +248,12 @@ } /** - * 判断不是自检 + * 判断不是自检,即外包和外检,进行环节设定 */ private boolean notSelfMeasure(DeviceDispatchVO dispatchVO) { if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType())) { - if (MeasureStatusEnum.TO_ALLOCATE.equals(String.valueOf(dispatchVO.getMeasureType())) || MeasureStatusEnum.TO_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { - String currentSegment = MeasureStatusEnum.TO_ALLOCATE.equals(dispatchVO.getMeasureType()) ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; + if (OTHERS_UNDERTAKE.equals(String.valueOf(dispatchVO.getMeasureType())) || OUTSIDE_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { + String currentSegment = OTHERS_UNDERTAKE.equals(dispatchVO.getMeasureType()) ? OUT_UNDERTAKE : OUT_MESASUR; dispatchVO.setCurrentSegment(currentSegment); return true; } @@ -251,6 +261,9 @@ return false; } + /** + * 其他条件的置为空 + */ private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { request.setSampleName(null); request.setSampleNo(null); @@ -264,18 +277,38 @@ } /** - * 判断样品是完成或接收状态,直接显示即可 + * 判断样品是完成或接收状态,进行当前阶段环节的设置 */ private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { - if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + if (TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_INCOME); return true; } - if (SampleStatusEnum.TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); + if (TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_ALLOCATE); return true; } return false; } + private boolean beforeStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(TO_INCOME)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + List orderSampleRelationList = this.orderSampleRelationMapper.selectList(queryWrapper); + Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); + if (orderSampleRelationOptional.isPresent()) { + BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); + if (businessOrderSampleRelation.getSampleStatus().equals(TO_ALLOCATE)) { + BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); + businessOrderSample.setRealDeliverTime(DateUtil.format(new Date(), "yyyy-MM-dd")); + int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); + return updateFlag > 0 ? true : false; + } + } + } + return true; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java index 4f06678..e2fea21 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerAdviceMapper; import com.casic.missiles.mapper.customer.CustomerMapper; @@ -34,7 +35,7 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerAdviceServiceImpl implements CustomerAdviceService { +public class CustomerAdviceServiceImpl implements CustomerAdviceService,PrefixCodeEnum { private final CustomerAdviceMapper customerAdviceMapper; private final IBaseExportService iBaseExportService; @@ -122,7 +123,7 @@ private void initCustomerAdviceInfo(CustomerAdviceInfo customerAdviceInfo) { Long maxNo = customerAdviceMapper.selectMaxAdviceNo(); - String adviceNo = NumberGeneratorUtil.getContactNo("khjy", maxNo); + String adviceNo = NumberGeneratorUtil.getContactNo(CUSTOMER_ADVICE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerAdviceInfo.setCreateUser(authUser.getId()); customerAdviceInfo.setUpdateUser(authUser.getId()); 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 4889e55..f9747dd 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 @@ -10,18 +10,19 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.sample.CertificationExpireStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; import com.casic.missiles.mapper.customer.CustomerMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerSampleListResponseMapper; import com.casic.missiles.mapper.customer.CustomerSampleMapper; -import com.casic.missiles.mapper.customer.customize.MesureRecordsResponseMapper; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -42,13 +43,11 @@ @Service @AllArgsConstructor -public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService { +public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService, CertificationExpireStatusEnum,PrefixCodeEnum{ private final CustomerSampleListResponseMapper customerSampleListResponseMapper; private final CustomerMapper customerMapper; private final IBaseExportService iBaseExportService; - private final CertificationResponseMapper certificationResponseMapper; - private final MesureRecordsResponseMapper mesureResponseMapper; private final BusinessOrderSampleRelationMapper sampleRelationMapper; @Override @@ -58,14 +57,14 @@ customerSamplePage.getRecords() .forEach(customerSample -> { BusinessOrderSampleRelation businessOrderSampleRelation = this.getSampleStatusById(customerSample.getId()); + customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); - customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); } }); for (CustomerSampleListResponse customerSampleListResponse : customerSamplePage.getRecords()) { - if (!StringUtils.isEmpty(customerSampleListResponse.getSampleSatus())) { + if (!StringUtils.isEmpty(customerSampleListResponse.getSampleStatus())) { DictCodeUtils.convertDictCodeToName(customerSampleListResponse); } } @@ -106,14 +105,13 @@ public CustomerSampleInfo sampleDetail(Long id) { CustomerSampleInfo customerSampleInfo = this.baseMapper.selectById(id); if (!ObjectUtils.isEmpty(customerSampleInfo)) { - doCustomerSampleInfoPopulation(customerSampleInfo); + doPopulateCustomerSampleInfo(customerSampleInfo); } return customerSampleInfo; } /** * 只导出样品列表信息 - * */ @Override public void sampleExport(CustomerSampleListRequest request, HttpServletResponse response) { @@ -135,7 +133,7 @@ BusinessOrderSampleRelation businessOrderSampleRelation = businessOrderMap.get(customerSample.getId()); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); } } @@ -159,26 +157,16 @@ } @Override - public Page measureRecordsBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page measureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); + public Page measureRecordsById(CustomerSampleIdRequest customerSampleIdRequest) { + Page page = PageFactory.defaultPage(); + Page measureRecordsResponsePage = this.baseMapper.measureRecordsById(page, customerSampleIdRequest); return measureRecordsResponsePage; } - @Override - public Page certificationBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page certificateResponsePage = certificationResponseMapper.selectPage(page, wrapper); - return certificateResponsePage; - } @Override - public Page samplesByOderId(Page page,Long orderId, String sampleNo, String sampleName) { - return this.baseMapper.samplesByOderId(page,orderId,sampleNo,sampleName); + public Page samplesByOderId(Page page, Long orderId, String sampleNo, String sampleName) { + return this.baseMapper.samplesByOderId(page, orderId, sampleNo, sampleName); } private BusinessOrderSampleRelation getSampleStatusById(Long sampleId) { @@ -190,9 +178,12 @@ return orderSampleOptional.isPresent() ? orderSampleOptional.get() : null; } + /** + * 初始化样品状态 + */ private void initSample(CustomerSampleInfo customerSampleInfo) { Long maxNo = this.baseMapper.selectMaxSampleNo(); - String sampleNo = NumberGeneratorUtil.getContactNo("khyp", maxNo); + String sampleNo = NumberGeneratorUtil.getContactNo(SAMPLE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setSampleNo(sampleNo); customerSampleInfo.setCreateUser(authUser.getId()); @@ -202,7 +193,6 @@ private QueryWrapper listParamWrapper(CustomerSampleListRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.select("id,sample_no,sample_name,sample_model,manufacturing_no,customer_id,measure_period,measure_last_time,remark,valid_deadline"); queryWrapper.like(StringUtils.isNotBlank(request.getSampleNo()), "sample_no", request.getSampleNo()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleName()), "sample_name", request.getSampleName()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleBelong()), "sample_belong", request.getSampleBelong()); @@ -210,9 +200,10 @@ queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); if (!StringUtils.isEmpty(request.getOvertimeStatus())) { - queryWrapper.apply(request.getOvertimeStatus().equals("1"), + queryWrapper.apply("1".equals(request.getOvertimeStatus()), + "sysdate() > DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); - queryWrapper.apply(request.getOvertimeStatus().equals("0"), + queryWrapper.apply("0".equals(request.getOvertimeStatus()), "sysdate() <= DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); } queryWrapper.apply(StringUtils.isNotBlank(request.getStartTime()), @@ -224,24 +215,30 @@ return queryWrapper; } + /** + * 通过证书到期时间进行到期状态的计算 + */ private String calculateCertificationStatus(String validDeadline) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if (StringUtils.isEmpty(validDeadline)) { - return "0"; + return NORMAL; } - if (validDeadline.compareTo(sdf.format(new Date())) > 0) { - return "2"; + if (validDeadline.compareTo(sdf.format(new Date())) < 0) { + return ALREADY_EXPIRE; } Calendar date = Calendar.getInstance(); date.setTime(new Date()); date.add(Calendar.DAY_OF_MONTH, -30); - if (validDeadline.compareTo(sdf.format(date.getTime())) > 0) { - return "1"; + if (validDeadline.compareTo(sdf.format(date.getTime())) < 0) { + return ALMOST_EXPIRE; } - return "0"; + return NORMAL; } - private void doCustomerSampleInfoPopulation(CustomerSampleInfo customerSampleInfo) { + /** + * 对样品列表的进行供应商联系方式的填充 + */ + private void doPopulateCustomerSampleInfo(CustomerSampleInfo customerSampleInfo) { CustomerInfo customerInfo = customerMapper.selectById(customerSampleInfo.getCustomerId()); if (!ObjectUtils.isEmpty(customerInfo)) { customerSampleInfo.setPhone(customerInfo.getPhone()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java index 32d4dee..f6e1f8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java @@ -11,13 +11,12 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerMapper; import com.casic.missiles.mapper.customer.CustomerUserMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerInfoResponseMapper; import com.casic.missiles.mapper.customer.customize.SampleRecordsResponseMapper; import com.casic.missiles.model.customer.CustomerInfo; @@ -38,11 +37,10 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerServiceImpl extends ServiceImpl implements CustomerService { +public class CustomerServiceImpl extends ServiceImpl implements CustomerService,PrefixCodeEnum { private final SampleRecordsResponseMapper sampleRecordsResponseMapper; private final CustomerUserMapper customerUserMapper; - private final CertificationResponseMapper certificationMapper; private final IBaseExportService iBaseExportService; private final CustomerInfoResponseMapper customerInfoResponseMapper; @@ -126,18 +124,9 @@ return contractRecordsResponsePage; } - @Override//暂定不做 - public Page mesureRecordsByCustomerId(Long customerId) { - Page measureRecordsResponsePage = PageFactory.defaultPage(); - return measureRecordsResponsePage; - } - @Override public Page certificationByCustomerId(Long customerId) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("customer_id", customerId); - return certificationMapper.selectPage(page, wrapper); + return null; } @Override @@ -163,8 +152,7 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); - queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "bussiness_size", request.getBusinessSize()); - queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); + queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "business_size", request.getBusinessSize()); queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); queryWrapper.eq("is_del", 0); return queryWrapper; @@ -172,7 +160,7 @@ private void initCustomerInfo(CustomerInfo customerInfo) { Long maxNo = this.baseMapper.selectMaxCustomerNo(); - String customerNo = NumberGeneratorUtil.getContactNo("khxx", maxNo); + String customerNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CUSTOMER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerInfo.setCreateUser(authUser.getId()); customerInfo.setUpdateUser(authUser.getId()); @@ -196,7 +184,7 @@ boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { customerUserInfo.setCustomerId(id); - String customerNo = NumberGeneratorUtil.getContactNo("khyh", maxUserNo++); + String customerNo = NumberGeneratorUtil.getContactNo(CUSTOMER_USER_PREFIX, maxUserNo++); customerUserInfo.setUserNo(customerNo); int userAddNum = customerUserMapper.insert(customerUserInfo); if (userAddNum <= 0) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java index d81a488..77e4caf 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java @@ -13,9 +13,10 @@ import com.casic.missiles.dto.equipment.AcceptanceCheckRequest; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentAcceptanceCheckMapper; @@ -183,7 +184,7 @@ public ReturnDTO addAcceptanceCheck(EquipmentApply equipmentApply) { Long maxNo = equipmentApplyMapper.selectMaxNo(); // 生成编号 - String applyNo = NumberGeneratorUtil.getContactNo("sbjxbyysd", maxNo); + String applyNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.REPAIR_MAINTAIN_PREFIX, maxNo); equipmentApply.setApplyNo(applyNo); // 草稿箱状态 equipmentApply.setApprovalStatus(ApprovalStatusEnum.DRAFT); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java index 38ad4e9..d468012 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java @@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.base.service.IBaseExportService; -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.IdDTO; @@ -20,6 +19,9 @@ import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java index 7c4fdbc..e6a1ff8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.equipment.CheckInfoRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoFileMapper; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoMapper; @@ -79,7 +80,7 @@ @Transactional public ReturnDTO addCheckInfo(EquipmentCheckInfo equipmentCheckInfo) { long maxNo = equipmentCheckInfoMapper.selectMaxNo(); - String checkNo = NumberGeneratorUtil.getContactNo("jc", maxNo); + String checkNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CHECK_PREFIX, maxNo); equipmentCheckInfo.setCheckNo(checkNo); if(equipmentCheckInfoMapper.insert(equipmentCheckInfo) > 0){ Long id = equipmentCheckInfo.getId(); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java index ba6a600..7ff9c16 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.equipment; -import cn.hutool.core.io.unit.DataUnit; import com.alibaba.excel.util.DateUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -13,7 +12,8 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.FixedAssetRequest; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentFixedAssetFileMapper; @@ -131,7 +131,7 @@ validManufacturingNo(meterFixedAssets); //生成资产编号 Long maxNo = meterFixedAssetsMapper.selectMaxNo(); - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); meterFixedAssets.setAssetNo(asset_no); meterFixedAssets.setEquipmentNo(asset_no); meterFixedAssetsMapper.insert(meterFixedAssets); @@ -164,7 +164,7 @@ //需要根据出厂编号判重 validManufacturingNo(item); //生成资产编号 - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); item.setAssetNo(asset_no); item.setEquipmentNo(asset_no); maxNo++; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java new file mode 100644 index 0000000..e196dda --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Builder; +import lombok.Data; + +/** + * @author cz + */ +@Data +@Builder +public class NotifyEventStatusDTO { + + /** + * 业务表主键 + */ + private String id; + /** + * 业务表状态 + */ + private String status; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java index 65c19e3..0f3e84f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java @@ -74,7 +74,7 @@ /** * 部门/科室/工程组名称 */ - @ExcelProperty("组织编号") + @ExcelProperty("组织名称") @ApiModelProperty(value = "计量组织名称", dataType = "String", required = true) @NotBlank(message = "计量组织名称不能为空") @TableField("organize_name") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java index 54dc5cd..244e431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java @@ -84,7 +84,7 @@ * 签名用户id(一个用户一个签名,签名不使用关联表,签章暂时使用和使用人的关联表) */ @TableField("sign_user_id") - private String signUserId; + private Long signUserId; /** * 签章或签名-字典code diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java index ca20ca4..0e94b9e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 2f97cb3..fdc4bf0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -3,7 +3,6 @@ import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -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; @@ -17,9 +16,10 @@ import com.casic.missiles.dto.flowable.ApprovalAgreeRequest; import com.casic.missiles.dto.flowable.ApprovalRefuseRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -42,10 +42,9 @@ */ @Service @AllArgsConstructor -public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { +public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService, CertificatePrintStatusEnum { private final IBaseApprovalService baseApprovalService; - private final AbstractDictService dictService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; @@ -86,7 +85,7 @@ } /** - * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 * * @return */ @@ -103,7 +102,7 @@ BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); //设置为不能打印 - certificateReport.setPrintStatus("2"); + certificateReport.setPrintStatus(NON_PRINTABLE); certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { @@ -113,7 +112,7 @@ } /** - * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 */ @Transactional @Override @@ -128,7 +127,7 @@ //审批状态为审批中 certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //打印状态审批中 - certificateReport.setPrintStatus("3"); + certificateReport.setPrintStatus(IN_APPROVAL); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -142,7 +141,7 @@ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)&&CollectionUtils.isEmpty(request.getIds())) { - handlerBeApproved(approvalList, page, request); + approvalList=handlerBeApproved(approvalList, page, request); }else { approvalList=this.baseMapper.selectBatchForApprovalList(page, request, null); } 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 d03ab22..164c53a 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,17 +7,22 @@ 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.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; -import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +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.MonitorCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -26,9 +31,9 @@ import com.casic.missiles.service.business.IBusinessCertificateReportService; import com.casic.missiles.service.business.IBusinessOriginalRecordService; import com.casic.missiles.service.flowable.ApprovalOperateService; -import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; +import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.runtime.ProcessInstance; @@ -68,8 +73,10 @@ private RuntimeService runtimeService; @Resource private IBaseExportService iBaseExportService; + /** * 保存证书报告信息 + * * @param certificateReport * @return */ @@ -77,7 +84,7 @@ public ReturnDTO saveCertificateReport(BusinessCertificateReport certificateReport) { initCertificateReport(certificateReport); - if(this.baseMapper.insert(certificateReport)>0) + if (this.baseMapper.insert(certificateReport) > 0) return ReturnUtil.success(); throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -90,9 +97,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //删除数据库记录 - if(this.baseMapper.deleteById(request.getId()) > 0){ + if (this.baseMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -101,7 +108,7 @@ @Override public ReturnDTO draftUpdate(BusinessCertificateReport certificateReport) { - if(this.baseMapper.updateById(certificateReport)>0){ + if (this.baseMapper.updateById(certificateReport) > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -109,25 +116,27 @@ /** * 批量删除 + * * @param ids * @return */ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - return baseMapper.deleteBatchIds(ids) > 0?ReturnUtil.success(): + return baseMapper.deleteBatchIds(ids) > 0 ? ReturnUtil.success() : ReturnUtil.failed("删除失败"); } /** * 证书报告详情 + * * @param id * @return */ @Override public BusinessCertificateReport certificateReportDetail(Long id) { BusinessCertificateReport certificateReport = this.baseMapper.selectById(id); - if(certificateReport.getOriginalRecordId()!=null){ + if (certificateReport.getOriginalRecordId() != null) { try { certificateReport.setBusinessOriginalRecord(originalRecordService.originalDetail(certificateReport.getOriginalRecordId())); } catch (Exception e) { @@ -139,6 +148,7 @@ /** * 提交证书报告 + * * @param request * @return */ @@ -148,10 +158,10 @@ String formId = request.getFormId(); //2.根据流程定义id启动流程实例 ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); certificateReport.setApprovalStatus(ApprovalStatusEnum.UN_DRAFT); //非草稿状态 @@ -165,6 +175,7 @@ /** * 审批状态列表查询 + * * @param page * @param request * @return @@ -182,6 +193,7 @@ /** * 驳回后更新 + * * @param certificateReport * @return */ @@ -208,13 +220,14 @@ @Override public void originExport(CertificateReportApprovalRequest request, HttpServletResponse response) { try { - //toDo: -// List certificateReportResponses = this.certificateReport(request); -// for (OriginRecordResponse originRecordResponse : originExportList) { -// //字典值转换 -// DictCodeUtils.convertDictCodeToName(originRecordResponse); -// } -// iBaseExportService.exportExcel(response, CertificateReportResponse.class, originExportList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); + //登录用户 + AuthUser user = ShiroKit.getUser(); + Assert.isFalse(Objects.isNull(user), () -> { + throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); + }); + request.setCreateUserId(user.getId()); + List reportResponseList = handleApprovalStatus(null, request); + iBaseExportService.exportExcel(response, CertificateReportResponse.class, reportResponseList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); } catch (Exception e) { log.error("证书报告导出出现异常,异常信息为{}", e); } @@ -231,15 +244,15 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -251,27 +264,27 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ - approvalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); + if (!CollectionUtils.isEmpty(businessKeys)) { + approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ - rejectApprovalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { + rejectApprovalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -279,7 +292,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.CANCELED); } break; @@ -288,10 +301,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleAllApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), AllApproveList); } break; @@ -299,9 +312,26 @@ return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List allApproveList) { - Map taskMap = new HashMap<>(); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + /** + * 客户、样品详情列表 + */ + @Override + public Page certificateRecordsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception { + Page page = PageFactory.defaultPage(); + Page certificateResponsePage = this.baseMapper.certificateRecordsById(page, customerSampleIdRequest); + for (CertificationResponse customerSampleListResponse : certificateResponsePage.getRecords()) { + if (!StringUtils.isEmpty(customerSampleListResponse.getCertificationClass())) { + DictCodeUtils.convertDictMultiCodeToName(customerSampleListResponse); + } + } + return certificateResponsePage; + } + + private List handleAllApprovalListResponse(List approvalList, List allApproveList) { + Map taskMap = new HashMap<>(); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -313,7 +343,7 @@ return approvalList.stream().sorted(Comparator.comparing(CertificateReportResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, String status){ + private List handleApprovalListResponse(List approvalList, String status) { approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); @@ -324,14 +354,14 @@ private void initCertificateReport(BusinessCertificateReport certificateReport) { String prefix = MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue() - +DateUtil.format(new Date(),"YYYYMM"); + + DateUtil.format(new Date(), "YYYYMM"); Long maxNo = this.baseMapper.selectMaxCode(prefix); //生成证书编号 - String certificateReportNo =NumberGeneratorUtil.getCode( - MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(),maxNo); + String certificateReportNo = NumberGeneratorUtil.getCode( + MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(), maxNo); AuthUser authUser = ShiroKit.getUser(); certificateReport.setCreateUser(authUser.getId()); - certificateReport.setMeasurePersonId(authUser.getId()+""); + certificateReport.setMeasurePersonId(authUser.getId() + ""); certificateReport.setMeasureDeptId(authUser.getDeptId()); certificateReport.setCertificateReportCode(certificateReportNo); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index c4ed5f6..5456773 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -12,13 +12,12 @@ import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; import com.casic.missiles.mapper.business.EnvironmentListResponseMapper; import com.casic.missiles.model.business.BusinessEnvironmentRecord; -import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 859010b..0d847a0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessInterchangeMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; @@ -35,7 +36,7 @@ * 业务管理-设备交接单 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @@ -83,7 +84,7 @@ } /** - * 更新不对样品有任何操作 + * 更新只是交接单的变更,没有任何其他单位的变化 */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { @@ -94,6 +95,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 交接单新增,同时在样品委托书管理表中新增交接单记录id + */ @Override @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { @@ -111,6 +115,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 选中判断ids存在,进行其他条件的清空 + */ @Override public void exportExchange(InterchangeListRequest request, HttpServletResponse response) { try { @@ -153,7 +160,7 @@ private void populationExchange(BusinessInterchange businessInterchange) { Long maxNo = this.baseMapper.selectMaxExchangeNo(); - String orderNo = NumberGeneratorUtil.getContactNo("jjdh", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.INTER_CHANGE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessInterchange.setCreateUser(authUser.getId()); businessInterchange.setInterchangeCode(orderNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java index 585a207..955cc7a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java @@ -13,19 +13,18 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.*; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.HandOutPropertyEnum; -import com.casic.missiles.enums.MeasureStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.HandOutPropertyEnum; +import com.casic.missiles.enums.business.MeasureStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.*; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; -import com.casic.missiles.model.business.BusinessLabExecutiveInfo; -import com.casic.missiles.model.business.BusinessLabExecutiveOperateLog; -import com.casic.missiles.model.business.BusinessLabExecutiveTemplateInfo; +import com.casic.missiles.model.business.*; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; import com.casic.missiles.service.business.IBusinessLabExecutiveTemplateInfoService; @@ -71,6 +70,8 @@ private AbstractDictService dictService; @Autowired private MeterStaffMapper staffMapper; + @Autowired + private BusinessOrderMapper orderMapper; @Override public Page handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) throws Exception{ @@ -377,7 +378,9 @@ if(CollectionUtils.isEmpty(unExecutiveInfos)){ //更新样品状态为检测完 orderSampleRelationMapper.updateByOrderIdAndSampleId(pre.getOrderId(), pre.getSampleId(), SampleStatusEnum.MEASURE_COMPLETE); - // TODO: 2023/2/17 委托书中所有样品检测完更新委托书接收状态为检测完成,需求待定 + + //委托书中所有样品检测完更新委托书接收状态为检测完成,未检测完的数量为0则表示全部检完 + updateOrderStatusComplete(pre); //将检测记录加入到实验室检测模板(仅全部为检测完成的才加入到模板,包含终止的不会加入) List labList = new ArrayList<>(); @@ -407,9 +410,27 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + @Transactional + public void updateOrderStatusComplete(SampleOperateRequest pre) { + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("order_id", pre.getOrderId()); + List statusList = new ArrayList<>(); + statusList.add(SampleStatusEnum.TO_RECEIVE); + statusList.add(SampleStatusEnum.TO_HANDOUT); + statusList.add(SampleStatusEnum.IN_MEASURE); + wrapper1.in("sample_status", statusList); + //同一事务中可查到更新后的数量 + if(orderSampleRelationMapper.selectCount(wrapper1) == 0){ + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(pre.getOrderId()); + businessOrder.setStatus(OrderStatusEnum.COMPLETE); + orderMapper.updateById(businessOrder); + } + } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + String templateCode = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.LAB_EXECUTIVE_TEMPLATE_PREFIX, maxNo + i); templateInfo.setTemplateCode(templateCode); // templateInfo.setSampleTypeId(); templateInfo.setSampleId(lab.getSampleId()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index f5c6f61..1d63554 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -14,6 +14,10 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; +import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; @@ -35,7 +39,6 @@ import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -45,12 +48,12 @@ * 业务管理-委托书 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @AllArgsConstructor -public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { +public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService,PrefixCodeEnum, OrderStatusEnum,SampleStatusEnum, MeasureTypeEnum { private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; @@ -90,8 +93,10 @@ List customerSampleList = new ArrayList<>(); for (BusinessOrderSampleRelation orderSample : orderSampleList) { CustomerSampleInfo customerSampleInfo = customerSampleService.sampleDetail(orderSample.getSampleId()); - customerSampleInfo.setIsExistSample("1"); - customerSampleList.add(customerSampleInfo); + if (null != customerSampleInfo) { + customerSampleInfo.setIsExistSample("1"); + customerSampleList.add(customerSampleInfo); + } } businessOrder.setCustomerSampleInfoList(customerSampleList); return businessOrder; @@ -202,7 +207,13 @@ @Override public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); - String dealType = "委托书" + ((status.equals("2")) ? "接收" : "退回"); + String dealType = ""; + if (status.equals(ALREADY_RECEIVED)) { + dealType = "委托书接收" ; + doUpdateSampleStatus(orderCancelRequest.getId(),TO_RECEIVE); + } else { + dealType = "委托书退回"; + } int addDealRecordFlag = addDealRecord(orderCancelRequest, dealType); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -216,7 +227,7 @@ @Override @Transactional public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { - int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), ALREADY_CANCEL); int addDealRecordFlag = addDealRecord(orderCancelRequest, "委托书取消"); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -250,6 +261,7 @@ return dealRecordMapper.insert(businessDealRecord); } + /** * 强调正在做状态更新 */ @@ -280,12 +292,12 @@ private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); - String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(ORDER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); - businessOrder.setStatus("1"); + businessOrder.setStatus(NOT_RECEIVED); } /** @@ -320,10 +332,23 @@ sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); - sampleStatusPopulation.setMeasureType("1"); + sampleStatusPopulation.setMeasureType(INSIDE_MEASURE); return this.sampleRelationMapper.insert(sampleStatusPopulation); } + /** + * 强调正在做状态更新 + */ + private int doUpdateSampleStatus(Long orderId, String sampleStatus) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", orderId); + BusinessOrderSampleRelation orderSample = new BusinessOrderSampleRelation(); + orderSample.setId(orderId); + orderSample.setSampleStatus(sampleStatus); + return this.sampleRelationMapper.update(orderSample, queryWrapper); + } + + private void doSampleListPopulation(BusinessOrder businessOrder) { businessOrder.getCustomerSampleInfoList().forEach( customerSampleInfo -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java index 1e35b7a..1c602b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java @@ -131,7 +131,7 @@ @Override public ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord) { - if (this.baseMapper.insert(businessOriginalRecord) > 0) { + if (this.baseMapper.updateById(businessOriginalRecord) > 0) { //加入技术文件绑定 if (ObjectUtil.isNotEmpty(businessOriginalRecord.getFileList()) && businessOriginalRecord.getFileList().size() > 0) { originalRecordFileRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getFileList()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java index 07c88e9..c9c1902 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.date.DateUtil; import com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -14,6 +15,7 @@ import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; @@ -29,6 +31,7 @@ import org.springframework.util.ObjectUtils; import javax.servlet.http.HttpServletResponse; +import java.util.Date; import java.util.List; import java.util.Objects; import java.util.Optional; @@ -39,7 +42,7 @@ @Service @Slf4j @AllArgsConstructor -public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService { +public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService, SampleStatusEnum, CurrentSegmentEnum, MeasureTypeEnum { private final BusinessOrderSampleRelationMapper orderSampleRelationMapper; private final BusinessCertificateReportMapper certificateReportMapper; @@ -73,20 +76,20 @@ Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.TO_HANDOUT: + case TO_HANDOUT: //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 - case SampleStatusEnum.IN_MEASURE: + case IN_MEASURE: //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.MEASURE_COMPLETE: + case MEASURE_COMPLETE: doDispatchVoPopulation(dispatchVO, sampleId, orderId); return; //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 - case SampleStatusEnum.BE_OVERDUE: + case BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); @@ -126,12 +129,14 @@ /** - * 状态更新 + * 根据sampleId,orderId,进行状态更新 */ @Override + @Transactional public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { + boolean beforeEventFlag = beforeStatusChange(deviceStatusChangeDTO); Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFlag > 0) { + if (updateFlag > 0 && beforeEventFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -181,8 +186,9 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); +// queryWrapper.ne("order_id", deviceStatusChangeDTO.getOrderId()); BusinessLabExecutiveInfo businessLabExecutiveInfo = new BusinessLabExecutiveInfo(); - businessLabExecutiveInfo.setMeasureStatus(deviceStatusChangeDTO.getStatus()); +// businessLabExecutiveInfo.setMeasureStatus(); businessLabExecutiveInfo.setRemark(deviceStatusChangeDTO.getReason()); labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } @@ -214,6 +220,9 @@ return handOutLabExecutiveDTOOptional.orElse(null); } + /** + * 构建证书的查询条件 + */ private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("order_id", dispatchVO.getOrderId()); @@ -230,7 +239,8 @@ queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); if (terminateFlag) { - queryWrapper.eq("sample_status", "2").or().eq("sample_status", "3").or().eq("sample_status", "4"); + //若是终止,需要对应待分发、检测中、检测完三个状态的变更 + queryWrapper.eq("sample_status", TO_HANDOUT).or().eq("sample_status", IN_MEASURE).or().eq("sample_status", MEASURE_COMPLETE); } BusinessOrderSampleRelation businessOrderSampleRelation = new BusinessOrderSampleRelation(); businessOrderSampleRelation.setSampleStatus(statusChangeDTO.getStatus()); @@ -238,12 +248,12 @@ } /** - * 判断不是自检 + * 判断不是自检,即外包和外检,进行环节设定 */ private boolean notSelfMeasure(DeviceDispatchVO dispatchVO) { if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType())) { - if (MeasureStatusEnum.TO_ALLOCATE.equals(String.valueOf(dispatchVO.getMeasureType())) || MeasureStatusEnum.TO_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { - String currentSegment = MeasureStatusEnum.TO_ALLOCATE.equals(dispatchVO.getMeasureType()) ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; + if (OTHERS_UNDERTAKE.equals(String.valueOf(dispatchVO.getMeasureType())) || OUTSIDE_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { + String currentSegment = OTHERS_UNDERTAKE.equals(dispatchVO.getMeasureType()) ? OUT_UNDERTAKE : OUT_MESASUR; dispatchVO.setCurrentSegment(currentSegment); return true; } @@ -251,6 +261,9 @@ return false; } + /** + * 其他条件的置为空 + */ private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { request.setSampleName(null); request.setSampleNo(null); @@ -264,18 +277,38 @@ } /** - * 判断样品是完成或接收状态,直接显示即可 + * 判断样品是完成或接收状态,进行当前阶段环节的设置 */ private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { - if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + if (TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_INCOME); return true; } - if (SampleStatusEnum.TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); + if (TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_ALLOCATE); return true; } return false; } + private boolean beforeStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(TO_INCOME)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + List orderSampleRelationList = this.orderSampleRelationMapper.selectList(queryWrapper); + Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); + if (orderSampleRelationOptional.isPresent()) { + BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); + if (businessOrderSampleRelation.getSampleStatus().equals(TO_ALLOCATE)) { + BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); + businessOrderSample.setRealDeliverTime(DateUtil.format(new Date(), "yyyy-MM-dd")); + int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); + return updateFlag > 0 ? true : false; + } + } + } + return true; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java index 4f06678..e2fea21 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerAdviceMapper; import com.casic.missiles.mapper.customer.CustomerMapper; @@ -34,7 +35,7 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerAdviceServiceImpl implements CustomerAdviceService { +public class CustomerAdviceServiceImpl implements CustomerAdviceService,PrefixCodeEnum { private final CustomerAdviceMapper customerAdviceMapper; private final IBaseExportService iBaseExportService; @@ -122,7 +123,7 @@ private void initCustomerAdviceInfo(CustomerAdviceInfo customerAdviceInfo) { Long maxNo = customerAdviceMapper.selectMaxAdviceNo(); - String adviceNo = NumberGeneratorUtil.getContactNo("khjy", maxNo); + String adviceNo = NumberGeneratorUtil.getContactNo(CUSTOMER_ADVICE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerAdviceInfo.setCreateUser(authUser.getId()); customerAdviceInfo.setUpdateUser(authUser.getId()); 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 4889e55..f9747dd 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 @@ -10,18 +10,19 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.sample.CertificationExpireStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; import com.casic.missiles.mapper.customer.CustomerMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerSampleListResponseMapper; import com.casic.missiles.mapper.customer.CustomerSampleMapper; -import com.casic.missiles.mapper.customer.customize.MesureRecordsResponseMapper; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -42,13 +43,11 @@ @Service @AllArgsConstructor -public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService { +public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService, CertificationExpireStatusEnum,PrefixCodeEnum{ private final CustomerSampleListResponseMapper customerSampleListResponseMapper; private final CustomerMapper customerMapper; private final IBaseExportService iBaseExportService; - private final CertificationResponseMapper certificationResponseMapper; - private final MesureRecordsResponseMapper mesureResponseMapper; private final BusinessOrderSampleRelationMapper sampleRelationMapper; @Override @@ -58,14 +57,14 @@ customerSamplePage.getRecords() .forEach(customerSample -> { BusinessOrderSampleRelation businessOrderSampleRelation = this.getSampleStatusById(customerSample.getId()); + customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); - customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); } }); for (CustomerSampleListResponse customerSampleListResponse : customerSamplePage.getRecords()) { - if (!StringUtils.isEmpty(customerSampleListResponse.getSampleSatus())) { + if (!StringUtils.isEmpty(customerSampleListResponse.getSampleStatus())) { DictCodeUtils.convertDictCodeToName(customerSampleListResponse); } } @@ -106,14 +105,13 @@ public CustomerSampleInfo sampleDetail(Long id) { CustomerSampleInfo customerSampleInfo = this.baseMapper.selectById(id); if (!ObjectUtils.isEmpty(customerSampleInfo)) { - doCustomerSampleInfoPopulation(customerSampleInfo); + doPopulateCustomerSampleInfo(customerSampleInfo); } return customerSampleInfo; } /** * 只导出样品列表信息 - * */ @Override public void sampleExport(CustomerSampleListRequest request, HttpServletResponse response) { @@ -135,7 +133,7 @@ BusinessOrderSampleRelation businessOrderSampleRelation = businessOrderMap.get(customerSample.getId()); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); } } @@ -159,26 +157,16 @@ } @Override - public Page measureRecordsBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page measureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); + public Page measureRecordsById(CustomerSampleIdRequest customerSampleIdRequest) { + Page page = PageFactory.defaultPage(); + Page measureRecordsResponsePage = this.baseMapper.measureRecordsById(page, customerSampleIdRequest); return measureRecordsResponsePage; } - @Override - public Page certificationBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page certificateResponsePage = certificationResponseMapper.selectPage(page, wrapper); - return certificateResponsePage; - } @Override - public Page samplesByOderId(Page page,Long orderId, String sampleNo, String sampleName) { - return this.baseMapper.samplesByOderId(page,orderId,sampleNo,sampleName); + public Page samplesByOderId(Page page, Long orderId, String sampleNo, String sampleName) { + return this.baseMapper.samplesByOderId(page, orderId, sampleNo, sampleName); } private BusinessOrderSampleRelation getSampleStatusById(Long sampleId) { @@ -190,9 +178,12 @@ return orderSampleOptional.isPresent() ? orderSampleOptional.get() : null; } + /** + * 初始化样品状态 + */ private void initSample(CustomerSampleInfo customerSampleInfo) { Long maxNo = this.baseMapper.selectMaxSampleNo(); - String sampleNo = NumberGeneratorUtil.getContactNo("khyp", maxNo); + String sampleNo = NumberGeneratorUtil.getContactNo(SAMPLE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setSampleNo(sampleNo); customerSampleInfo.setCreateUser(authUser.getId()); @@ -202,7 +193,6 @@ private QueryWrapper listParamWrapper(CustomerSampleListRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.select("id,sample_no,sample_name,sample_model,manufacturing_no,customer_id,measure_period,measure_last_time,remark,valid_deadline"); queryWrapper.like(StringUtils.isNotBlank(request.getSampleNo()), "sample_no", request.getSampleNo()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleName()), "sample_name", request.getSampleName()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleBelong()), "sample_belong", request.getSampleBelong()); @@ -210,9 +200,10 @@ queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); if (!StringUtils.isEmpty(request.getOvertimeStatus())) { - queryWrapper.apply(request.getOvertimeStatus().equals("1"), + queryWrapper.apply("1".equals(request.getOvertimeStatus()), + "sysdate() > DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); - queryWrapper.apply(request.getOvertimeStatus().equals("0"), + queryWrapper.apply("0".equals(request.getOvertimeStatus()), "sysdate() <= DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); } queryWrapper.apply(StringUtils.isNotBlank(request.getStartTime()), @@ -224,24 +215,30 @@ return queryWrapper; } + /** + * 通过证书到期时间进行到期状态的计算 + */ private String calculateCertificationStatus(String validDeadline) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if (StringUtils.isEmpty(validDeadline)) { - return "0"; + return NORMAL; } - if (validDeadline.compareTo(sdf.format(new Date())) > 0) { - return "2"; + if (validDeadline.compareTo(sdf.format(new Date())) < 0) { + return ALREADY_EXPIRE; } Calendar date = Calendar.getInstance(); date.setTime(new Date()); date.add(Calendar.DAY_OF_MONTH, -30); - if (validDeadline.compareTo(sdf.format(date.getTime())) > 0) { - return "1"; + if (validDeadline.compareTo(sdf.format(date.getTime())) < 0) { + return ALMOST_EXPIRE; } - return "0"; + return NORMAL; } - private void doCustomerSampleInfoPopulation(CustomerSampleInfo customerSampleInfo) { + /** + * 对样品列表的进行供应商联系方式的填充 + */ + private void doPopulateCustomerSampleInfo(CustomerSampleInfo customerSampleInfo) { CustomerInfo customerInfo = customerMapper.selectById(customerSampleInfo.getCustomerId()); if (!ObjectUtils.isEmpty(customerInfo)) { customerSampleInfo.setPhone(customerInfo.getPhone()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java index 32d4dee..f6e1f8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java @@ -11,13 +11,12 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerMapper; import com.casic.missiles.mapper.customer.CustomerUserMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerInfoResponseMapper; import com.casic.missiles.mapper.customer.customize.SampleRecordsResponseMapper; import com.casic.missiles.model.customer.CustomerInfo; @@ -38,11 +37,10 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerServiceImpl extends ServiceImpl implements CustomerService { +public class CustomerServiceImpl extends ServiceImpl implements CustomerService,PrefixCodeEnum { private final SampleRecordsResponseMapper sampleRecordsResponseMapper; private final CustomerUserMapper customerUserMapper; - private final CertificationResponseMapper certificationMapper; private final IBaseExportService iBaseExportService; private final CustomerInfoResponseMapper customerInfoResponseMapper; @@ -126,18 +124,9 @@ return contractRecordsResponsePage; } - @Override//暂定不做 - public Page mesureRecordsByCustomerId(Long customerId) { - Page measureRecordsResponsePage = PageFactory.defaultPage(); - return measureRecordsResponsePage; - } - @Override public Page certificationByCustomerId(Long customerId) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("customer_id", customerId); - return certificationMapper.selectPage(page, wrapper); + return null; } @Override @@ -163,8 +152,7 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); - queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "bussiness_size", request.getBusinessSize()); - queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); + queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "business_size", request.getBusinessSize()); queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); queryWrapper.eq("is_del", 0); return queryWrapper; @@ -172,7 +160,7 @@ private void initCustomerInfo(CustomerInfo customerInfo) { Long maxNo = this.baseMapper.selectMaxCustomerNo(); - String customerNo = NumberGeneratorUtil.getContactNo("khxx", maxNo); + String customerNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CUSTOMER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerInfo.setCreateUser(authUser.getId()); customerInfo.setUpdateUser(authUser.getId()); @@ -196,7 +184,7 @@ boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { customerUserInfo.setCustomerId(id); - String customerNo = NumberGeneratorUtil.getContactNo("khyh", maxUserNo++); + String customerNo = NumberGeneratorUtil.getContactNo(CUSTOMER_USER_PREFIX, maxUserNo++); customerUserInfo.setUserNo(customerNo); int userAddNum = customerUserMapper.insert(customerUserInfo); if (userAddNum <= 0) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java index d81a488..77e4caf 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java @@ -13,9 +13,10 @@ import com.casic.missiles.dto.equipment.AcceptanceCheckRequest; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentAcceptanceCheckMapper; @@ -183,7 +184,7 @@ public ReturnDTO addAcceptanceCheck(EquipmentApply equipmentApply) { Long maxNo = equipmentApplyMapper.selectMaxNo(); // 生成编号 - String applyNo = NumberGeneratorUtil.getContactNo("sbjxbyysd", maxNo); + String applyNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.REPAIR_MAINTAIN_PREFIX, maxNo); equipmentApply.setApplyNo(applyNo); // 草稿箱状态 equipmentApply.setApprovalStatus(ApprovalStatusEnum.DRAFT); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java index 38ad4e9..d468012 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java @@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.base.service.IBaseExportService; -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.IdDTO; @@ -20,6 +19,9 @@ import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java index 7c4fdbc..e6a1ff8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.equipment.CheckInfoRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoFileMapper; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoMapper; @@ -79,7 +80,7 @@ @Transactional public ReturnDTO addCheckInfo(EquipmentCheckInfo equipmentCheckInfo) { long maxNo = equipmentCheckInfoMapper.selectMaxNo(); - String checkNo = NumberGeneratorUtil.getContactNo("jc", maxNo); + String checkNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CHECK_PREFIX, maxNo); equipmentCheckInfo.setCheckNo(checkNo); if(equipmentCheckInfoMapper.insert(equipmentCheckInfo) > 0){ Long id = equipmentCheckInfo.getId(); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java index ba6a600..7ff9c16 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.equipment; -import cn.hutool.core.io.unit.DataUnit; import com.alibaba.excel.util.DateUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -13,7 +12,8 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.FixedAssetRequest; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentFixedAssetFileMapper; @@ -131,7 +131,7 @@ validManufacturingNo(meterFixedAssets); //生成资产编号 Long maxNo = meterFixedAssetsMapper.selectMaxNo(); - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); meterFixedAssets.setAssetNo(asset_no); meterFixedAssets.setEquipmentNo(asset_no); meterFixedAssetsMapper.insert(meterFixedAssets); @@ -164,7 +164,7 @@ //需要根据出厂编号判重 validManufacturingNo(item); //生成资产编号 - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); item.setAssetNo(asset_no); item.setEquipmentNo(asset_no); maxNo++; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java index 3e63a5a..2b29aa7 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java @@ -18,6 +18,8 @@ import com.casic.missiles.dto.equipment.StandardEquipmentApplyRequest; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.StandardApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java new file mode 100644 index 0000000..e196dda --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Builder; +import lombok.Data; + +/** + * @author cz + */ +@Data +@Builder +public class NotifyEventStatusDTO { + + /** + * 业务表主键 + */ + private String id; + /** + * 业务表状态 + */ + private String status; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java index 65c19e3..0f3e84f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java @@ -74,7 +74,7 @@ /** * 部门/科室/工程组名称 */ - @ExcelProperty("组织编号") + @ExcelProperty("组织名称") @ApiModelProperty(value = "计量组织名称", dataType = "String", required = true) @NotBlank(message = "计量组织名称不能为空") @TableField("organize_name") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java index 54dc5cd..244e431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java @@ -84,7 +84,7 @@ * 签名用户id(一个用户一个签名,签名不使用关联表,签章暂时使用和使用人的关联表) */ @TableField("sign_user_id") - private String signUserId; + private Long signUserId; /** * 签章或签名-字典code diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java index ca20ca4..0e94b9e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 2f97cb3..fdc4bf0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -3,7 +3,6 @@ import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -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; @@ -17,9 +16,10 @@ import com.casic.missiles.dto.flowable.ApprovalAgreeRequest; import com.casic.missiles.dto.flowable.ApprovalRefuseRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -42,10 +42,9 @@ */ @Service @AllArgsConstructor -public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { +public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService, CertificatePrintStatusEnum { private final IBaseApprovalService baseApprovalService; - private final AbstractDictService dictService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; @@ -86,7 +85,7 @@ } /** - * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 * * @return */ @@ -103,7 +102,7 @@ BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); //设置为不能打印 - certificateReport.setPrintStatus("2"); + certificateReport.setPrintStatus(NON_PRINTABLE); certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { @@ -113,7 +112,7 @@ } /** - * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 */ @Transactional @Override @@ -128,7 +127,7 @@ //审批状态为审批中 certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //打印状态审批中 - certificateReport.setPrintStatus("3"); + certificateReport.setPrintStatus(IN_APPROVAL); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -142,7 +141,7 @@ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)&&CollectionUtils.isEmpty(request.getIds())) { - handlerBeApproved(approvalList, page, request); + approvalList=handlerBeApproved(approvalList, page, request); }else { approvalList=this.baseMapper.selectBatchForApprovalList(page, request, null); } 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 d03ab22..164c53a 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,17 +7,22 @@ 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.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; -import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +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.MonitorCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -26,9 +31,9 @@ import com.casic.missiles.service.business.IBusinessCertificateReportService; import com.casic.missiles.service.business.IBusinessOriginalRecordService; import com.casic.missiles.service.flowable.ApprovalOperateService; -import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; +import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.runtime.ProcessInstance; @@ -68,8 +73,10 @@ private RuntimeService runtimeService; @Resource private IBaseExportService iBaseExportService; + /** * 保存证书报告信息 + * * @param certificateReport * @return */ @@ -77,7 +84,7 @@ public ReturnDTO saveCertificateReport(BusinessCertificateReport certificateReport) { initCertificateReport(certificateReport); - if(this.baseMapper.insert(certificateReport)>0) + if (this.baseMapper.insert(certificateReport) > 0) return ReturnUtil.success(); throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -90,9 +97,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //删除数据库记录 - if(this.baseMapper.deleteById(request.getId()) > 0){ + if (this.baseMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -101,7 +108,7 @@ @Override public ReturnDTO draftUpdate(BusinessCertificateReport certificateReport) { - if(this.baseMapper.updateById(certificateReport)>0){ + if (this.baseMapper.updateById(certificateReport) > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -109,25 +116,27 @@ /** * 批量删除 + * * @param ids * @return */ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - return baseMapper.deleteBatchIds(ids) > 0?ReturnUtil.success(): + return baseMapper.deleteBatchIds(ids) > 0 ? ReturnUtil.success() : ReturnUtil.failed("删除失败"); } /** * 证书报告详情 + * * @param id * @return */ @Override public BusinessCertificateReport certificateReportDetail(Long id) { BusinessCertificateReport certificateReport = this.baseMapper.selectById(id); - if(certificateReport.getOriginalRecordId()!=null){ + if (certificateReport.getOriginalRecordId() != null) { try { certificateReport.setBusinessOriginalRecord(originalRecordService.originalDetail(certificateReport.getOriginalRecordId())); } catch (Exception e) { @@ -139,6 +148,7 @@ /** * 提交证书报告 + * * @param request * @return */ @@ -148,10 +158,10 @@ String formId = request.getFormId(); //2.根据流程定义id启动流程实例 ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); certificateReport.setApprovalStatus(ApprovalStatusEnum.UN_DRAFT); //非草稿状态 @@ -165,6 +175,7 @@ /** * 审批状态列表查询 + * * @param page * @param request * @return @@ -182,6 +193,7 @@ /** * 驳回后更新 + * * @param certificateReport * @return */ @@ -208,13 +220,14 @@ @Override public void originExport(CertificateReportApprovalRequest request, HttpServletResponse response) { try { - //toDo: -// List certificateReportResponses = this.certificateReport(request); -// for (OriginRecordResponse originRecordResponse : originExportList) { -// //字典值转换 -// DictCodeUtils.convertDictCodeToName(originRecordResponse); -// } -// iBaseExportService.exportExcel(response, CertificateReportResponse.class, originExportList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); + //登录用户 + AuthUser user = ShiroKit.getUser(); + Assert.isFalse(Objects.isNull(user), () -> { + throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); + }); + request.setCreateUserId(user.getId()); + List reportResponseList = handleApprovalStatus(null, request); + iBaseExportService.exportExcel(response, CertificateReportResponse.class, reportResponseList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); } catch (Exception e) { log.error("证书报告导出出现异常,异常信息为{}", e); } @@ -231,15 +244,15 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -251,27 +264,27 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ - approvalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); + if (!CollectionUtils.isEmpty(businessKeys)) { + approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ - rejectApprovalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { + rejectApprovalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -279,7 +292,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.CANCELED); } break; @@ -288,10 +301,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleAllApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), AllApproveList); } break; @@ -299,9 +312,26 @@ return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List allApproveList) { - Map taskMap = new HashMap<>(); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + /** + * 客户、样品详情列表 + */ + @Override + public Page certificateRecordsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception { + Page page = PageFactory.defaultPage(); + Page certificateResponsePage = this.baseMapper.certificateRecordsById(page, customerSampleIdRequest); + for (CertificationResponse customerSampleListResponse : certificateResponsePage.getRecords()) { + if (!StringUtils.isEmpty(customerSampleListResponse.getCertificationClass())) { + DictCodeUtils.convertDictMultiCodeToName(customerSampleListResponse); + } + } + return certificateResponsePage; + } + + private List handleAllApprovalListResponse(List approvalList, List allApproveList) { + Map taskMap = new HashMap<>(); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -313,7 +343,7 @@ return approvalList.stream().sorted(Comparator.comparing(CertificateReportResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, String status){ + private List handleApprovalListResponse(List approvalList, String status) { approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); @@ -324,14 +354,14 @@ private void initCertificateReport(BusinessCertificateReport certificateReport) { String prefix = MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue() - +DateUtil.format(new Date(),"YYYYMM"); + + DateUtil.format(new Date(), "YYYYMM"); Long maxNo = this.baseMapper.selectMaxCode(prefix); //生成证书编号 - String certificateReportNo =NumberGeneratorUtil.getCode( - MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(),maxNo); + String certificateReportNo = NumberGeneratorUtil.getCode( + MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(), maxNo); AuthUser authUser = ShiroKit.getUser(); certificateReport.setCreateUser(authUser.getId()); - certificateReport.setMeasurePersonId(authUser.getId()+""); + certificateReport.setMeasurePersonId(authUser.getId() + ""); certificateReport.setMeasureDeptId(authUser.getDeptId()); certificateReport.setCertificateReportCode(certificateReportNo); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index c4ed5f6..5456773 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -12,13 +12,12 @@ import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; import com.casic.missiles.mapper.business.EnvironmentListResponseMapper; import com.casic.missiles.model.business.BusinessEnvironmentRecord; -import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 859010b..0d847a0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessInterchangeMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; @@ -35,7 +36,7 @@ * 业务管理-设备交接单 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @@ -83,7 +84,7 @@ } /** - * 更新不对样品有任何操作 + * 更新只是交接单的变更,没有任何其他单位的变化 */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { @@ -94,6 +95,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 交接单新增,同时在样品委托书管理表中新增交接单记录id + */ @Override @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { @@ -111,6 +115,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 选中判断ids存在,进行其他条件的清空 + */ @Override public void exportExchange(InterchangeListRequest request, HttpServletResponse response) { try { @@ -153,7 +160,7 @@ private void populationExchange(BusinessInterchange businessInterchange) { Long maxNo = this.baseMapper.selectMaxExchangeNo(); - String orderNo = NumberGeneratorUtil.getContactNo("jjdh", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.INTER_CHANGE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessInterchange.setCreateUser(authUser.getId()); businessInterchange.setInterchangeCode(orderNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java index 585a207..955cc7a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java @@ -13,19 +13,18 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.*; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.HandOutPropertyEnum; -import com.casic.missiles.enums.MeasureStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.HandOutPropertyEnum; +import com.casic.missiles.enums.business.MeasureStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.*; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; -import com.casic.missiles.model.business.BusinessLabExecutiveInfo; -import com.casic.missiles.model.business.BusinessLabExecutiveOperateLog; -import com.casic.missiles.model.business.BusinessLabExecutiveTemplateInfo; +import com.casic.missiles.model.business.*; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; import com.casic.missiles.service.business.IBusinessLabExecutiveTemplateInfoService; @@ -71,6 +70,8 @@ private AbstractDictService dictService; @Autowired private MeterStaffMapper staffMapper; + @Autowired + private BusinessOrderMapper orderMapper; @Override public Page handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) throws Exception{ @@ -377,7 +378,9 @@ if(CollectionUtils.isEmpty(unExecutiveInfos)){ //更新样品状态为检测完 orderSampleRelationMapper.updateByOrderIdAndSampleId(pre.getOrderId(), pre.getSampleId(), SampleStatusEnum.MEASURE_COMPLETE); - // TODO: 2023/2/17 委托书中所有样品检测完更新委托书接收状态为检测完成,需求待定 + + //委托书中所有样品检测完更新委托书接收状态为检测完成,未检测完的数量为0则表示全部检完 + updateOrderStatusComplete(pre); //将检测记录加入到实验室检测模板(仅全部为检测完成的才加入到模板,包含终止的不会加入) List labList = new ArrayList<>(); @@ -407,9 +410,27 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + @Transactional + public void updateOrderStatusComplete(SampleOperateRequest pre) { + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("order_id", pre.getOrderId()); + List statusList = new ArrayList<>(); + statusList.add(SampleStatusEnum.TO_RECEIVE); + statusList.add(SampleStatusEnum.TO_HANDOUT); + statusList.add(SampleStatusEnum.IN_MEASURE); + wrapper1.in("sample_status", statusList); + //同一事务中可查到更新后的数量 + if(orderSampleRelationMapper.selectCount(wrapper1) == 0){ + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(pre.getOrderId()); + businessOrder.setStatus(OrderStatusEnum.COMPLETE); + orderMapper.updateById(businessOrder); + } + } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + String templateCode = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.LAB_EXECUTIVE_TEMPLATE_PREFIX, maxNo + i); templateInfo.setTemplateCode(templateCode); // templateInfo.setSampleTypeId(); templateInfo.setSampleId(lab.getSampleId()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index f5c6f61..1d63554 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -14,6 +14,10 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; +import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; @@ -35,7 +39,6 @@ import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -45,12 +48,12 @@ * 业务管理-委托书 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @AllArgsConstructor -public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { +public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService,PrefixCodeEnum, OrderStatusEnum,SampleStatusEnum, MeasureTypeEnum { private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; @@ -90,8 +93,10 @@ List customerSampleList = new ArrayList<>(); for (BusinessOrderSampleRelation orderSample : orderSampleList) { CustomerSampleInfo customerSampleInfo = customerSampleService.sampleDetail(orderSample.getSampleId()); - customerSampleInfo.setIsExistSample("1"); - customerSampleList.add(customerSampleInfo); + if (null != customerSampleInfo) { + customerSampleInfo.setIsExistSample("1"); + customerSampleList.add(customerSampleInfo); + } } businessOrder.setCustomerSampleInfoList(customerSampleList); return businessOrder; @@ -202,7 +207,13 @@ @Override public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); - String dealType = "委托书" + ((status.equals("2")) ? "接收" : "退回"); + String dealType = ""; + if (status.equals(ALREADY_RECEIVED)) { + dealType = "委托书接收" ; + doUpdateSampleStatus(orderCancelRequest.getId(),TO_RECEIVE); + } else { + dealType = "委托书退回"; + } int addDealRecordFlag = addDealRecord(orderCancelRequest, dealType); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -216,7 +227,7 @@ @Override @Transactional public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { - int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), ALREADY_CANCEL); int addDealRecordFlag = addDealRecord(orderCancelRequest, "委托书取消"); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -250,6 +261,7 @@ return dealRecordMapper.insert(businessDealRecord); } + /** * 强调正在做状态更新 */ @@ -280,12 +292,12 @@ private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); - String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(ORDER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); - businessOrder.setStatus("1"); + businessOrder.setStatus(NOT_RECEIVED); } /** @@ -320,10 +332,23 @@ sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); - sampleStatusPopulation.setMeasureType("1"); + sampleStatusPopulation.setMeasureType(INSIDE_MEASURE); return this.sampleRelationMapper.insert(sampleStatusPopulation); } + /** + * 强调正在做状态更新 + */ + private int doUpdateSampleStatus(Long orderId, String sampleStatus) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", orderId); + BusinessOrderSampleRelation orderSample = new BusinessOrderSampleRelation(); + orderSample.setId(orderId); + orderSample.setSampleStatus(sampleStatus); + return this.sampleRelationMapper.update(orderSample, queryWrapper); + } + + private void doSampleListPopulation(BusinessOrder businessOrder) { businessOrder.getCustomerSampleInfoList().forEach( customerSampleInfo -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java index 1e35b7a..1c602b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java @@ -131,7 +131,7 @@ @Override public ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord) { - if (this.baseMapper.insert(businessOriginalRecord) > 0) { + if (this.baseMapper.updateById(businessOriginalRecord) > 0) { //加入技术文件绑定 if (ObjectUtil.isNotEmpty(businessOriginalRecord.getFileList()) && businessOriginalRecord.getFileList().size() > 0) { originalRecordFileRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getFileList()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java index 07c88e9..c9c1902 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.date.DateUtil; import com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -14,6 +15,7 @@ import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; @@ -29,6 +31,7 @@ import org.springframework.util.ObjectUtils; import javax.servlet.http.HttpServletResponse; +import java.util.Date; import java.util.List; import java.util.Objects; import java.util.Optional; @@ -39,7 +42,7 @@ @Service @Slf4j @AllArgsConstructor -public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService { +public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService, SampleStatusEnum, CurrentSegmentEnum, MeasureTypeEnum { private final BusinessOrderSampleRelationMapper orderSampleRelationMapper; private final BusinessCertificateReportMapper certificateReportMapper; @@ -73,20 +76,20 @@ Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.TO_HANDOUT: + case TO_HANDOUT: //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 - case SampleStatusEnum.IN_MEASURE: + case IN_MEASURE: //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.MEASURE_COMPLETE: + case MEASURE_COMPLETE: doDispatchVoPopulation(dispatchVO, sampleId, orderId); return; //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 - case SampleStatusEnum.BE_OVERDUE: + case BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); @@ -126,12 +129,14 @@ /** - * 状态更新 + * 根据sampleId,orderId,进行状态更新 */ @Override + @Transactional public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { + boolean beforeEventFlag = beforeStatusChange(deviceStatusChangeDTO); Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFlag > 0) { + if (updateFlag > 0 && beforeEventFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -181,8 +186,9 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); +// queryWrapper.ne("order_id", deviceStatusChangeDTO.getOrderId()); BusinessLabExecutiveInfo businessLabExecutiveInfo = new BusinessLabExecutiveInfo(); - businessLabExecutiveInfo.setMeasureStatus(deviceStatusChangeDTO.getStatus()); +// businessLabExecutiveInfo.setMeasureStatus(); businessLabExecutiveInfo.setRemark(deviceStatusChangeDTO.getReason()); labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } @@ -214,6 +220,9 @@ return handOutLabExecutiveDTOOptional.orElse(null); } + /** + * 构建证书的查询条件 + */ private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("order_id", dispatchVO.getOrderId()); @@ -230,7 +239,8 @@ queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); if (terminateFlag) { - queryWrapper.eq("sample_status", "2").or().eq("sample_status", "3").or().eq("sample_status", "4"); + //若是终止,需要对应待分发、检测中、检测完三个状态的变更 + queryWrapper.eq("sample_status", TO_HANDOUT).or().eq("sample_status", IN_MEASURE).or().eq("sample_status", MEASURE_COMPLETE); } BusinessOrderSampleRelation businessOrderSampleRelation = new BusinessOrderSampleRelation(); businessOrderSampleRelation.setSampleStatus(statusChangeDTO.getStatus()); @@ -238,12 +248,12 @@ } /** - * 判断不是自检 + * 判断不是自检,即外包和外检,进行环节设定 */ private boolean notSelfMeasure(DeviceDispatchVO dispatchVO) { if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType())) { - if (MeasureStatusEnum.TO_ALLOCATE.equals(String.valueOf(dispatchVO.getMeasureType())) || MeasureStatusEnum.TO_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { - String currentSegment = MeasureStatusEnum.TO_ALLOCATE.equals(dispatchVO.getMeasureType()) ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; + if (OTHERS_UNDERTAKE.equals(String.valueOf(dispatchVO.getMeasureType())) || OUTSIDE_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { + String currentSegment = OTHERS_UNDERTAKE.equals(dispatchVO.getMeasureType()) ? OUT_UNDERTAKE : OUT_MESASUR; dispatchVO.setCurrentSegment(currentSegment); return true; } @@ -251,6 +261,9 @@ return false; } + /** + * 其他条件的置为空 + */ private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { request.setSampleName(null); request.setSampleNo(null); @@ -264,18 +277,38 @@ } /** - * 判断样品是完成或接收状态,直接显示即可 + * 判断样品是完成或接收状态,进行当前阶段环节的设置 */ private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { - if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + if (TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_INCOME); return true; } - if (SampleStatusEnum.TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); + if (TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_ALLOCATE); return true; } return false; } + private boolean beforeStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(TO_INCOME)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + List orderSampleRelationList = this.orderSampleRelationMapper.selectList(queryWrapper); + Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); + if (orderSampleRelationOptional.isPresent()) { + BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); + if (businessOrderSampleRelation.getSampleStatus().equals(TO_ALLOCATE)) { + BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); + businessOrderSample.setRealDeliverTime(DateUtil.format(new Date(), "yyyy-MM-dd")); + int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); + return updateFlag > 0 ? true : false; + } + } + } + return true; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java index 4f06678..e2fea21 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerAdviceMapper; import com.casic.missiles.mapper.customer.CustomerMapper; @@ -34,7 +35,7 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerAdviceServiceImpl implements CustomerAdviceService { +public class CustomerAdviceServiceImpl implements CustomerAdviceService,PrefixCodeEnum { private final CustomerAdviceMapper customerAdviceMapper; private final IBaseExportService iBaseExportService; @@ -122,7 +123,7 @@ private void initCustomerAdviceInfo(CustomerAdviceInfo customerAdviceInfo) { Long maxNo = customerAdviceMapper.selectMaxAdviceNo(); - String adviceNo = NumberGeneratorUtil.getContactNo("khjy", maxNo); + String adviceNo = NumberGeneratorUtil.getContactNo(CUSTOMER_ADVICE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerAdviceInfo.setCreateUser(authUser.getId()); customerAdviceInfo.setUpdateUser(authUser.getId()); 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 4889e55..f9747dd 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 @@ -10,18 +10,19 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.sample.CertificationExpireStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; import com.casic.missiles.mapper.customer.CustomerMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerSampleListResponseMapper; import com.casic.missiles.mapper.customer.CustomerSampleMapper; -import com.casic.missiles.mapper.customer.customize.MesureRecordsResponseMapper; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -42,13 +43,11 @@ @Service @AllArgsConstructor -public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService { +public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService, CertificationExpireStatusEnum,PrefixCodeEnum{ private final CustomerSampleListResponseMapper customerSampleListResponseMapper; private final CustomerMapper customerMapper; private final IBaseExportService iBaseExportService; - private final CertificationResponseMapper certificationResponseMapper; - private final MesureRecordsResponseMapper mesureResponseMapper; private final BusinessOrderSampleRelationMapper sampleRelationMapper; @Override @@ -58,14 +57,14 @@ customerSamplePage.getRecords() .forEach(customerSample -> { BusinessOrderSampleRelation businessOrderSampleRelation = this.getSampleStatusById(customerSample.getId()); + customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); - customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); } }); for (CustomerSampleListResponse customerSampleListResponse : customerSamplePage.getRecords()) { - if (!StringUtils.isEmpty(customerSampleListResponse.getSampleSatus())) { + if (!StringUtils.isEmpty(customerSampleListResponse.getSampleStatus())) { DictCodeUtils.convertDictCodeToName(customerSampleListResponse); } } @@ -106,14 +105,13 @@ public CustomerSampleInfo sampleDetail(Long id) { CustomerSampleInfo customerSampleInfo = this.baseMapper.selectById(id); if (!ObjectUtils.isEmpty(customerSampleInfo)) { - doCustomerSampleInfoPopulation(customerSampleInfo); + doPopulateCustomerSampleInfo(customerSampleInfo); } return customerSampleInfo; } /** * 只导出样品列表信息 - * */ @Override public void sampleExport(CustomerSampleListRequest request, HttpServletResponse response) { @@ -135,7 +133,7 @@ BusinessOrderSampleRelation businessOrderSampleRelation = businessOrderMap.get(customerSample.getId()); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); } } @@ -159,26 +157,16 @@ } @Override - public Page measureRecordsBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page measureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); + public Page measureRecordsById(CustomerSampleIdRequest customerSampleIdRequest) { + Page page = PageFactory.defaultPage(); + Page measureRecordsResponsePage = this.baseMapper.measureRecordsById(page, customerSampleIdRequest); return measureRecordsResponsePage; } - @Override - public Page certificationBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page certificateResponsePage = certificationResponseMapper.selectPage(page, wrapper); - return certificateResponsePage; - } @Override - public Page samplesByOderId(Page page,Long orderId, String sampleNo, String sampleName) { - return this.baseMapper.samplesByOderId(page,orderId,sampleNo,sampleName); + public Page samplesByOderId(Page page, Long orderId, String sampleNo, String sampleName) { + return this.baseMapper.samplesByOderId(page, orderId, sampleNo, sampleName); } private BusinessOrderSampleRelation getSampleStatusById(Long sampleId) { @@ -190,9 +178,12 @@ return orderSampleOptional.isPresent() ? orderSampleOptional.get() : null; } + /** + * 初始化样品状态 + */ private void initSample(CustomerSampleInfo customerSampleInfo) { Long maxNo = this.baseMapper.selectMaxSampleNo(); - String sampleNo = NumberGeneratorUtil.getContactNo("khyp", maxNo); + String sampleNo = NumberGeneratorUtil.getContactNo(SAMPLE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setSampleNo(sampleNo); customerSampleInfo.setCreateUser(authUser.getId()); @@ -202,7 +193,6 @@ private QueryWrapper listParamWrapper(CustomerSampleListRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.select("id,sample_no,sample_name,sample_model,manufacturing_no,customer_id,measure_period,measure_last_time,remark,valid_deadline"); queryWrapper.like(StringUtils.isNotBlank(request.getSampleNo()), "sample_no", request.getSampleNo()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleName()), "sample_name", request.getSampleName()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleBelong()), "sample_belong", request.getSampleBelong()); @@ -210,9 +200,10 @@ queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); if (!StringUtils.isEmpty(request.getOvertimeStatus())) { - queryWrapper.apply(request.getOvertimeStatus().equals("1"), + queryWrapper.apply("1".equals(request.getOvertimeStatus()), + "sysdate() > DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); - queryWrapper.apply(request.getOvertimeStatus().equals("0"), + queryWrapper.apply("0".equals(request.getOvertimeStatus()), "sysdate() <= DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); } queryWrapper.apply(StringUtils.isNotBlank(request.getStartTime()), @@ -224,24 +215,30 @@ return queryWrapper; } + /** + * 通过证书到期时间进行到期状态的计算 + */ private String calculateCertificationStatus(String validDeadline) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if (StringUtils.isEmpty(validDeadline)) { - return "0"; + return NORMAL; } - if (validDeadline.compareTo(sdf.format(new Date())) > 0) { - return "2"; + if (validDeadline.compareTo(sdf.format(new Date())) < 0) { + return ALREADY_EXPIRE; } Calendar date = Calendar.getInstance(); date.setTime(new Date()); date.add(Calendar.DAY_OF_MONTH, -30); - if (validDeadline.compareTo(sdf.format(date.getTime())) > 0) { - return "1"; + if (validDeadline.compareTo(sdf.format(date.getTime())) < 0) { + return ALMOST_EXPIRE; } - return "0"; + return NORMAL; } - private void doCustomerSampleInfoPopulation(CustomerSampleInfo customerSampleInfo) { + /** + * 对样品列表的进行供应商联系方式的填充 + */ + private void doPopulateCustomerSampleInfo(CustomerSampleInfo customerSampleInfo) { CustomerInfo customerInfo = customerMapper.selectById(customerSampleInfo.getCustomerId()); if (!ObjectUtils.isEmpty(customerInfo)) { customerSampleInfo.setPhone(customerInfo.getPhone()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java index 32d4dee..f6e1f8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java @@ -11,13 +11,12 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerMapper; import com.casic.missiles.mapper.customer.CustomerUserMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerInfoResponseMapper; import com.casic.missiles.mapper.customer.customize.SampleRecordsResponseMapper; import com.casic.missiles.model.customer.CustomerInfo; @@ -38,11 +37,10 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerServiceImpl extends ServiceImpl implements CustomerService { +public class CustomerServiceImpl extends ServiceImpl implements CustomerService,PrefixCodeEnum { private final SampleRecordsResponseMapper sampleRecordsResponseMapper; private final CustomerUserMapper customerUserMapper; - private final CertificationResponseMapper certificationMapper; private final IBaseExportService iBaseExportService; private final CustomerInfoResponseMapper customerInfoResponseMapper; @@ -126,18 +124,9 @@ return contractRecordsResponsePage; } - @Override//暂定不做 - public Page mesureRecordsByCustomerId(Long customerId) { - Page measureRecordsResponsePage = PageFactory.defaultPage(); - return measureRecordsResponsePage; - } - @Override public Page certificationByCustomerId(Long customerId) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("customer_id", customerId); - return certificationMapper.selectPage(page, wrapper); + return null; } @Override @@ -163,8 +152,7 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); - queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "bussiness_size", request.getBusinessSize()); - queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); + queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "business_size", request.getBusinessSize()); queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); queryWrapper.eq("is_del", 0); return queryWrapper; @@ -172,7 +160,7 @@ private void initCustomerInfo(CustomerInfo customerInfo) { Long maxNo = this.baseMapper.selectMaxCustomerNo(); - String customerNo = NumberGeneratorUtil.getContactNo("khxx", maxNo); + String customerNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CUSTOMER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerInfo.setCreateUser(authUser.getId()); customerInfo.setUpdateUser(authUser.getId()); @@ -196,7 +184,7 @@ boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { customerUserInfo.setCustomerId(id); - String customerNo = NumberGeneratorUtil.getContactNo("khyh", maxUserNo++); + String customerNo = NumberGeneratorUtil.getContactNo(CUSTOMER_USER_PREFIX, maxUserNo++); customerUserInfo.setUserNo(customerNo); int userAddNum = customerUserMapper.insert(customerUserInfo); if (userAddNum <= 0) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java index d81a488..77e4caf 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java @@ -13,9 +13,10 @@ import com.casic.missiles.dto.equipment.AcceptanceCheckRequest; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentAcceptanceCheckMapper; @@ -183,7 +184,7 @@ public ReturnDTO addAcceptanceCheck(EquipmentApply equipmentApply) { Long maxNo = equipmentApplyMapper.selectMaxNo(); // 生成编号 - String applyNo = NumberGeneratorUtil.getContactNo("sbjxbyysd", maxNo); + String applyNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.REPAIR_MAINTAIN_PREFIX, maxNo); equipmentApply.setApplyNo(applyNo); // 草稿箱状态 equipmentApply.setApprovalStatus(ApprovalStatusEnum.DRAFT); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java index 38ad4e9..d468012 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java @@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.base.service.IBaseExportService; -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.IdDTO; @@ -20,6 +19,9 @@ import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java index 7c4fdbc..e6a1ff8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.equipment.CheckInfoRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoFileMapper; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoMapper; @@ -79,7 +80,7 @@ @Transactional public ReturnDTO addCheckInfo(EquipmentCheckInfo equipmentCheckInfo) { long maxNo = equipmentCheckInfoMapper.selectMaxNo(); - String checkNo = NumberGeneratorUtil.getContactNo("jc", maxNo); + String checkNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CHECK_PREFIX, maxNo); equipmentCheckInfo.setCheckNo(checkNo); if(equipmentCheckInfoMapper.insert(equipmentCheckInfo) > 0){ Long id = equipmentCheckInfo.getId(); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java index ba6a600..7ff9c16 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.equipment; -import cn.hutool.core.io.unit.DataUnit; import com.alibaba.excel.util.DateUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -13,7 +12,8 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.FixedAssetRequest; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentFixedAssetFileMapper; @@ -131,7 +131,7 @@ validManufacturingNo(meterFixedAssets); //生成资产编号 Long maxNo = meterFixedAssetsMapper.selectMaxNo(); - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); meterFixedAssets.setAssetNo(asset_no); meterFixedAssets.setEquipmentNo(asset_no); meterFixedAssetsMapper.insert(meterFixedAssets); @@ -164,7 +164,7 @@ //需要根据出厂编号判重 validManufacturingNo(item); //生成资产编号 - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); item.setAssetNo(asset_no); item.setEquipmentNo(asset_no); maxNo++; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java index 3e63a5a..2b29aa7 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java @@ -18,6 +18,8 @@ import com.casic.missiles.dto.equipment.StandardEquipmentApplyRequest; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.StandardApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java index caa63a7..afa6905 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java @@ -10,9 +10,9 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.StandardEquipmentRequest; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentFileMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentMapper; -import com.casic.missiles.model.equipment.EquipmentApply; import com.casic.missiles.model.equipment.EquipmentStandardEquipment; import com.casic.missiles.model.equipment.EquipmentStandardEquipmentFile; import com.casic.missiles.model.page.PageQuery; @@ -74,7 +74,7 @@ public ReturnDTO add(EquipmentStandardEquipment meterStandardEquipment) { //生成资产编号 Long maxNo = meterStandardEquipmentMapper.selectMaxNo(); - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); meterStandardEquipment.setStandardNo(standard_no); meterStandardEquipmentMapper.insert(meterStandardEquipment); // 插入文件列表 @@ -129,7 +129,7 @@ } DictCodeUtils.validDictCode(item); //生成资产编号 - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); item.setStandardNo(standard_no); maxNo++; } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java new file mode 100644 index 0000000..e196dda --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Builder; +import lombok.Data; + +/** + * @author cz + */ +@Data +@Builder +public class NotifyEventStatusDTO { + + /** + * 业务表主键 + */ + private String id; + /** + * 业务表状态 + */ + private String status; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java index 65c19e3..0f3e84f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java @@ -74,7 +74,7 @@ /** * 部门/科室/工程组名称 */ - @ExcelProperty("组织编号") + @ExcelProperty("组织名称") @ApiModelProperty(value = "计量组织名称", dataType = "String", required = true) @NotBlank(message = "计量组织名称不能为空") @TableField("organize_name") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java index 54dc5cd..244e431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java @@ -84,7 +84,7 @@ * 签名用户id(一个用户一个签名,签名不使用关联表,签章暂时使用和使用人的关联表) */ @TableField("sign_user_id") - private String signUserId; + private Long signUserId; /** * 签章或签名-字典code diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java index ca20ca4..0e94b9e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 2f97cb3..fdc4bf0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -3,7 +3,6 @@ import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -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; @@ -17,9 +16,10 @@ import com.casic.missiles.dto.flowable.ApprovalAgreeRequest; import com.casic.missiles.dto.flowable.ApprovalRefuseRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -42,10 +42,9 @@ */ @Service @AllArgsConstructor -public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { +public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService, CertificatePrintStatusEnum { private final IBaseApprovalService baseApprovalService; - private final AbstractDictService dictService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; @@ -86,7 +85,7 @@ } /** - * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 * * @return */ @@ -103,7 +102,7 @@ BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); //设置为不能打印 - certificateReport.setPrintStatus("2"); + certificateReport.setPrintStatus(NON_PRINTABLE); certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { @@ -113,7 +112,7 @@ } /** - * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 */ @Transactional @Override @@ -128,7 +127,7 @@ //审批状态为审批中 certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //打印状态审批中 - certificateReport.setPrintStatus("3"); + certificateReport.setPrintStatus(IN_APPROVAL); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -142,7 +141,7 @@ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)&&CollectionUtils.isEmpty(request.getIds())) { - handlerBeApproved(approvalList, page, request); + approvalList=handlerBeApproved(approvalList, page, request); }else { approvalList=this.baseMapper.selectBatchForApprovalList(page, request, null); } 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 d03ab22..164c53a 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,17 +7,22 @@ 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.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; -import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +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.MonitorCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -26,9 +31,9 @@ import com.casic.missiles.service.business.IBusinessCertificateReportService; import com.casic.missiles.service.business.IBusinessOriginalRecordService; import com.casic.missiles.service.flowable.ApprovalOperateService; -import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; +import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.runtime.ProcessInstance; @@ -68,8 +73,10 @@ private RuntimeService runtimeService; @Resource private IBaseExportService iBaseExportService; + /** * 保存证书报告信息 + * * @param certificateReport * @return */ @@ -77,7 +84,7 @@ public ReturnDTO saveCertificateReport(BusinessCertificateReport certificateReport) { initCertificateReport(certificateReport); - if(this.baseMapper.insert(certificateReport)>0) + if (this.baseMapper.insert(certificateReport) > 0) return ReturnUtil.success(); throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -90,9 +97,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //删除数据库记录 - if(this.baseMapper.deleteById(request.getId()) > 0){ + if (this.baseMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -101,7 +108,7 @@ @Override public ReturnDTO draftUpdate(BusinessCertificateReport certificateReport) { - if(this.baseMapper.updateById(certificateReport)>0){ + if (this.baseMapper.updateById(certificateReport) > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -109,25 +116,27 @@ /** * 批量删除 + * * @param ids * @return */ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - return baseMapper.deleteBatchIds(ids) > 0?ReturnUtil.success(): + return baseMapper.deleteBatchIds(ids) > 0 ? ReturnUtil.success() : ReturnUtil.failed("删除失败"); } /** * 证书报告详情 + * * @param id * @return */ @Override public BusinessCertificateReport certificateReportDetail(Long id) { BusinessCertificateReport certificateReport = this.baseMapper.selectById(id); - if(certificateReport.getOriginalRecordId()!=null){ + if (certificateReport.getOriginalRecordId() != null) { try { certificateReport.setBusinessOriginalRecord(originalRecordService.originalDetail(certificateReport.getOriginalRecordId())); } catch (Exception e) { @@ -139,6 +148,7 @@ /** * 提交证书报告 + * * @param request * @return */ @@ -148,10 +158,10 @@ String formId = request.getFormId(); //2.根据流程定义id启动流程实例 ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); certificateReport.setApprovalStatus(ApprovalStatusEnum.UN_DRAFT); //非草稿状态 @@ -165,6 +175,7 @@ /** * 审批状态列表查询 + * * @param page * @param request * @return @@ -182,6 +193,7 @@ /** * 驳回后更新 + * * @param certificateReport * @return */ @@ -208,13 +220,14 @@ @Override public void originExport(CertificateReportApprovalRequest request, HttpServletResponse response) { try { - //toDo: -// List certificateReportResponses = this.certificateReport(request); -// for (OriginRecordResponse originRecordResponse : originExportList) { -// //字典值转换 -// DictCodeUtils.convertDictCodeToName(originRecordResponse); -// } -// iBaseExportService.exportExcel(response, CertificateReportResponse.class, originExportList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); + //登录用户 + AuthUser user = ShiroKit.getUser(); + Assert.isFalse(Objects.isNull(user), () -> { + throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); + }); + request.setCreateUserId(user.getId()); + List reportResponseList = handleApprovalStatus(null, request); + iBaseExportService.exportExcel(response, CertificateReportResponse.class, reportResponseList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); } catch (Exception e) { log.error("证书报告导出出现异常,异常信息为{}", e); } @@ -231,15 +244,15 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -251,27 +264,27 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ - approvalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); + if (!CollectionUtils.isEmpty(businessKeys)) { + approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ - rejectApprovalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { + rejectApprovalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -279,7 +292,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.CANCELED); } break; @@ -288,10 +301,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleAllApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), AllApproveList); } break; @@ -299,9 +312,26 @@ return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List allApproveList) { - Map taskMap = new HashMap<>(); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + /** + * 客户、样品详情列表 + */ + @Override + public Page certificateRecordsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception { + Page page = PageFactory.defaultPage(); + Page certificateResponsePage = this.baseMapper.certificateRecordsById(page, customerSampleIdRequest); + for (CertificationResponse customerSampleListResponse : certificateResponsePage.getRecords()) { + if (!StringUtils.isEmpty(customerSampleListResponse.getCertificationClass())) { + DictCodeUtils.convertDictMultiCodeToName(customerSampleListResponse); + } + } + return certificateResponsePage; + } + + private List handleAllApprovalListResponse(List approvalList, List allApproveList) { + Map taskMap = new HashMap<>(); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -313,7 +343,7 @@ return approvalList.stream().sorted(Comparator.comparing(CertificateReportResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, String status){ + private List handleApprovalListResponse(List approvalList, String status) { approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); @@ -324,14 +354,14 @@ private void initCertificateReport(BusinessCertificateReport certificateReport) { String prefix = MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue() - +DateUtil.format(new Date(),"YYYYMM"); + + DateUtil.format(new Date(), "YYYYMM"); Long maxNo = this.baseMapper.selectMaxCode(prefix); //生成证书编号 - String certificateReportNo =NumberGeneratorUtil.getCode( - MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(),maxNo); + String certificateReportNo = NumberGeneratorUtil.getCode( + MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(), maxNo); AuthUser authUser = ShiroKit.getUser(); certificateReport.setCreateUser(authUser.getId()); - certificateReport.setMeasurePersonId(authUser.getId()+""); + certificateReport.setMeasurePersonId(authUser.getId() + ""); certificateReport.setMeasureDeptId(authUser.getDeptId()); certificateReport.setCertificateReportCode(certificateReportNo); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index c4ed5f6..5456773 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -12,13 +12,12 @@ import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; import com.casic.missiles.mapper.business.EnvironmentListResponseMapper; import com.casic.missiles.model.business.BusinessEnvironmentRecord; -import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 859010b..0d847a0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessInterchangeMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; @@ -35,7 +36,7 @@ * 业务管理-设备交接单 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @@ -83,7 +84,7 @@ } /** - * 更新不对样品有任何操作 + * 更新只是交接单的变更,没有任何其他单位的变化 */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { @@ -94,6 +95,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 交接单新增,同时在样品委托书管理表中新增交接单记录id + */ @Override @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { @@ -111,6 +115,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 选中判断ids存在,进行其他条件的清空 + */ @Override public void exportExchange(InterchangeListRequest request, HttpServletResponse response) { try { @@ -153,7 +160,7 @@ private void populationExchange(BusinessInterchange businessInterchange) { Long maxNo = this.baseMapper.selectMaxExchangeNo(); - String orderNo = NumberGeneratorUtil.getContactNo("jjdh", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.INTER_CHANGE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessInterchange.setCreateUser(authUser.getId()); businessInterchange.setInterchangeCode(orderNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java index 585a207..955cc7a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java @@ -13,19 +13,18 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.*; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.HandOutPropertyEnum; -import com.casic.missiles.enums.MeasureStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.HandOutPropertyEnum; +import com.casic.missiles.enums.business.MeasureStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.*; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; -import com.casic.missiles.model.business.BusinessLabExecutiveInfo; -import com.casic.missiles.model.business.BusinessLabExecutiveOperateLog; -import com.casic.missiles.model.business.BusinessLabExecutiveTemplateInfo; +import com.casic.missiles.model.business.*; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; import com.casic.missiles.service.business.IBusinessLabExecutiveTemplateInfoService; @@ -71,6 +70,8 @@ private AbstractDictService dictService; @Autowired private MeterStaffMapper staffMapper; + @Autowired + private BusinessOrderMapper orderMapper; @Override public Page handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) throws Exception{ @@ -377,7 +378,9 @@ if(CollectionUtils.isEmpty(unExecutiveInfos)){ //更新样品状态为检测完 orderSampleRelationMapper.updateByOrderIdAndSampleId(pre.getOrderId(), pre.getSampleId(), SampleStatusEnum.MEASURE_COMPLETE); - // TODO: 2023/2/17 委托书中所有样品检测完更新委托书接收状态为检测完成,需求待定 + + //委托书中所有样品检测完更新委托书接收状态为检测完成,未检测完的数量为0则表示全部检完 + updateOrderStatusComplete(pre); //将检测记录加入到实验室检测模板(仅全部为检测完成的才加入到模板,包含终止的不会加入) List labList = new ArrayList<>(); @@ -407,9 +410,27 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + @Transactional + public void updateOrderStatusComplete(SampleOperateRequest pre) { + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("order_id", pre.getOrderId()); + List statusList = new ArrayList<>(); + statusList.add(SampleStatusEnum.TO_RECEIVE); + statusList.add(SampleStatusEnum.TO_HANDOUT); + statusList.add(SampleStatusEnum.IN_MEASURE); + wrapper1.in("sample_status", statusList); + //同一事务中可查到更新后的数量 + if(orderSampleRelationMapper.selectCount(wrapper1) == 0){ + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(pre.getOrderId()); + businessOrder.setStatus(OrderStatusEnum.COMPLETE); + orderMapper.updateById(businessOrder); + } + } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + String templateCode = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.LAB_EXECUTIVE_TEMPLATE_PREFIX, maxNo + i); templateInfo.setTemplateCode(templateCode); // templateInfo.setSampleTypeId(); templateInfo.setSampleId(lab.getSampleId()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index f5c6f61..1d63554 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -14,6 +14,10 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; +import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; @@ -35,7 +39,6 @@ import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -45,12 +48,12 @@ * 业务管理-委托书 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @AllArgsConstructor -public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { +public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService,PrefixCodeEnum, OrderStatusEnum,SampleStatusEnum, MeasureTypeEnum { private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; @@ -90,8 +93,10 @@ List customerSampleList = new ArrayList<>(); for (BusinessOrderSampleRelation orderSample : orderSampleList) { CustomerSampleInfo customerSampleInfo = customerSampleService.sampleDetail(orderSample.getSampleId()); - customerSampleInfo.setIsExistSample("1"); - customerSampleList.add(customerSampleInfo); + if (null != customerSampleInfo) { + customerSampleInfo.setIsExistSample("1"); + customerSampleList.add(customerSampleInfo); + } } businessOrder.setCustomerSampleInfoList(customerSampleList); return businessOrder; @@ -202,7 +207,13 @@ @Override public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); - String dealType = "委托书" + ((status.equals("2")) ? "接收" : "退回"); + String dealType = ""; + if (status.equals(ALREADY_RECEIVED)) { + dealType = "委托书接收" ; + doUpdateSampleStatus(orderCancelRequest.getId(),TO_RECEIVE); + } else { + dealType = "委托书退回"; + } int addDealRecordFlag = addDealRecord(orderCancelRequest, dealType); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -216,7 +227,7 @@ @Override @Transactional public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { - int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), ALREADY_CANCEL); int addDealRecordFlag = addDealRecord(orderCancelRequest, "委托书取消"); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -250,6 +261,7 @@ return dealRecordMapper.insert(businessDealRecord); } + /** * 强调正在做状态更新 */ @@ -280,12 +292,12 @@ private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); - String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(ORDER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); - businessOrder.setStatus("1"); + businessOrder.setStatus(NOT_RECEIVED); } /** @@ -320,10 +332,23 @@ sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); - sampleStatusPopulation.setMeasureType("1"); + sampleStatusPopulation.setMeasureType(INSIDE_MEASURE); return this.sampleRelationMapper.insert(sampleStatusPopulation); } + /** + * 强调正在做状态更新 + */ + private int doUpdateSampleStatus(Long orderId, String sampleStatus) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", orderId); + BusinessOrderSampleRelation orderSample = new BusinessOrderSampleRelation(); + orderSample.setId(orderId); + orderSample.setSampleStatus(sampleStatus); + return this.sampleRelationMapper.update(orderSample, queryWrapper); + } + + private void doSampleListPopulation(BusinessOrder businessOrder) { businessOrder.getCustomerSampleInfoList().forEach( customerSampleInfo -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java index 1e35b7a..1c602b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java @@ -131,7 +131,7 @@ @Override public ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord) { - if (this.baseMapper.insert(businessOriginalRecord) > 0) { + if (this.baseMapper.updateById(businessOriginalRecord) > 0) { //加入技术文件绑定 if (ObjectUtil.isNotEmpty(businessOriginalRecord.getFileList()) && businessOriginalRecord.getFileList().size() > 0) { originalRecordFileRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getFileList()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java index 07c88e9..c9c1902 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.date.DateUtil; import com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -14,6 +15,7 @@ import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; @@ -29,6 +31,7 @@ import org.springframework.util.ObjectUtils; import javax.servlet.http.HttpServletResponse; +import java.util.Date; import java.util.List; import java.util.Objects; import java.util.Optional; @@ -39,7 +42,7 @@ @Service @Slf4j @AllArgsConstructor -public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService { +public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService, SampleStatusEnum, CurrentSegmentEnum, MeasureTypeEnum { private final BusinessOrderSampleRelationMapper orderSampleRelationMapper; private final BusinessCertificateReportMapper certificateReportMapper; @@ -73,20 +76,20 @@ Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.TO_HANDOUT: + case TO_HANDOUT: //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 - case SampleStatusEnum.IN_MEASURE: + case IN_MEASURE: //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.MEASURE_COMPLETE: + case MEASURE_COMPLETE: doDispatchVoPopulation(dispatchVO, sampleId, orderId); return; //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 - case SampleStatusEnum.BE_OVERDUE: + case BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); @@ -126,12 +129,14 @@ /** - * 状态更新 + * 根据sampleId,orderId,进行状态更新 */ @Override + @Transactional public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { + boolean beforeEventFlag = beforeStatusChange(deviceStatusChangeDTO); Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFlag > 0) { + if (updateFlag > 0 && beforeEventFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -181,8 +186,9 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); +// queryWrapper.ne("order_id", deviceStatusChangeDTO.getOrderId()); BusinessLabExecutiveInfo businessLabExecutiveInfo = new BusinessLabExecutiveInfo(); - businessLabExecutiveInfo.setMeasureStatus(deviceStatusChangeDTO.getStatus()); +// businessLabExecutiveInfo.setMeasureStatus(); businessLabExecutiveInfo.setRemark(deviceStatusChangeDTO.getReason()); labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } @@ -214,6 +220,9 @@ return handOutLabExecutiveDTOOptional.orElse(null); } + /** + * 构建证书的查询条件 + */ private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("order_id", dispatchVO.getOrderId()); @@ -230,7 +239,8 @@ queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); if (terminateFlag) { - queryWrapper.eq("sample_status", "2").or().eq("sample_status", "3").or().eq("sample_status", "4"); + //若是终止,需要对应待分发、检测中、检测完三个状态的变更 + queryWrapper.eq("sample_status", TO_HANDOUT).or().eq("sample_status", IN_MEASURE).or().eq("sample_status", MEASURE_COMPLETE); } BusinessOrderSampleRelation businessOrderSampleRelation = new BusinessOrderSampleRelation(); businessOrderSampleRelation.setSampleStatus(statusChangeDTO.getStatus()); @@ -238,12 +248,12 @@ } /** - * 判断不是自检 + * 判断不是自检,即外包和外检,进行环节设定 */ private boolean notSelfMeasure(DeviceDispatchVO dispatchVO) { if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType())) { - if (MeasureStatusEnum.TO_ALLOCATE.equals(String.valueOf(dispatchVO.getMeasureType())) || MeasureStatusEnum.TO_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { - String currentSegment = MeasureStatusEnum.TO_ALLOCATE.equals(dispatchVO.getMeasureType()) ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; + if (OTHERS_UNDERTAKE.equals(String.valueOf(dispatchVO.getMeasureType())) || OUTSIDE_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { + String currentSegment = OTHERS_UNDERTAKE.equals(dispatchVO.getMeasureType()) ? OUT_UNDERTAKE : OUT_MESASUR; dispatchVO.setCurrentSegment(currentSegment); return true; } @@ -251,6 +261,9 @@ return false; } + /** + * 其他条件的置为空 + */ private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { request.setSampleName(null); request.setSampleNo(null); @@ -264,18 +277,38 @@ } /** - * 判断样品是完成或接收状态,直接显示即可 + * 判断样品是完成或接收状态,进行当前阶段环节的设置 */ private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { - if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + if (TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_INCOME); return true; } - if (SampleStatusEnum.TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); + if (TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_ALLOCATE); return true; } return false; } + private boolean beforeStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(TO_INCOME)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + List orderSampleRelationList = this.orderSampleRelationMapper.selectList(queryWrapper); + Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); + if (orderSampleRelationOptional.isPresent()) { + BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); + if (businessOrderSampleRelation.getSampleStatus().equals(TO_ALLOCATE)) { + BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); + businessOrderSample.setRealDeliverTime(DateUtil.format(new Date(), "yyyy-MM-dd")); + int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); + return updateFlag > 0 ? true : false; + } + } + } + return true; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java index 4f06678..e2fea21 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerAdviceMapper; import com.casic.missiles.mapper.customer.CustomerMapper; @@ -34,7 +35,7 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerAdviceServiceImpl implements CustomerAdviceService { +public class CustomerAdviceServiceImpl implements CustomerAdviceService,PrefixCodeEnum { private final CustomerAdviceMapper customerAdviceMapper; private final IBaseExportService iBaseExportService; @@ -122,7 +123,7 @@ private void initCustomerAdviceInfo(CustomerAdviceInfo customerAdviceInfo) { Long maxNo = customerAdviceMapper.selectMaxAdviceNo(); - String adviceNo = NumberGeneratorUtil.getContactNo("khjy", maxNo); + String adviceNo = NumberGeneratorUtil.getContactNo(CUSTOMER_ADVICE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerAdviceInfo.setCreateUser(authUser.getId()); customerAdviceInfo.setUpdateUser(authUser.getId()); 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 4889e55..f9747dd 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 @@ -10,18 +10,19 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.sample.CertificationExpireStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; import com.casic.missiles.mapper.customer.CustomerMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerSampleListResponseMapper; import com.casic.missiles.mapper.customer.CustomerSampleMapper; -import com.casic.missiles.mapper.customer.customize.MesureRecordsResponseMapper; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -42,13 +43,11 @@ @Service @AllArgsConstructor -public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService { +public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService, CertificationExpireStatusEnum,PrefixCodeEnum{ private final CustomerSampleListResponseMapper customerSampleListResponseMapper; private final CustomerMapper customerMapper; private final IBaseExportService iBaseExportService; - private final CertificationResponseMapper certificationResponseMapper; - private final MesureRecordsResponseMapper mesureResponseMapper; private final BusinessOrderSampleRelationMapper sampleRelationMapper; @Override @@ -58,14 +57,14 @@ customerSamplePage.getRecords() .forEach(customerSample -> { BusinessOrderSampleRelation businessOrderSampleRelation = this.getSampleStatusById(customerSample.getId()); + customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); - customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); } }); for (CustomerSampleListResponse customerSampleListResponse : customerSamplePage.getRecords()) { - if (!StringUtils.isEmpty(customerSampleListResponse.getSampleSatus())) { + if (!StringUtils.isEmpty(customerSampleListResponse.getSampleStatus())) { DictCodeUtils.convertDictCodeToName(customerSampleListResponse); } } @@ -106,14 +105,13 @@ public CustomerSampleInfo sampleDetail(Long id) { CustomerSampleInfo customerSampleInfo = this.baseMapper.selectById(id); if (!ObjectUtils.isEmpty(customerSampleInfo)) { - doCustomerSampleInfoPopulation(customerSampleInfo); + doPopulateCustomerSampleInfo(customerSampleInfo); } return customerSampleInfo; } /** * 只导出样品列表信息 - * */ @Override public void sampleExport(CustomerSampleListRequest request, HttpServletResponse response) { @@ -135,7 +133,7 @@ BusinessOrderSampleRelation businessOrderSampleRelation = businessOrderMap.get(customerSample.getId()); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); } } @@ -159,26 +157,16 @@ } @Override - public Page measureRecordsBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page measureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); + public Page measureRecordsById(CustomerSampleIdRequest customerSampleIdRequest) { + Page page = PageFactory.defaultPage(); + Page measureRecordsResponsePage = this.baseMapper.measureRecordsById(page, customerSampleIdRequest); return measureRecordsResponsePage; } - @Override - public Page certificationBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page certificateResponsePage = certificationResponseMapper.selectPage(page, wrapper); - return certificateResponsePage; - } @Override - public Page samplesByOderId(Page page,Long orderId, String sampleNo, String sampleName) { - return this.baseMapper.samplesByOderId(page,orderId,sampleNo,sampleName); + public Page samplesByOderId(Page page, Long orderId, String sampleNo, String sampleName) { + return this.baseMapper.samplesByOderId(page, orderId, sampleNo, sampleName); } private BusinessOrderSampleRelation getSampleStatusById(Long sampleId) { @@ -190,9 +178,12 @@ return orderSampleOptional.isPresent() ? orderSampleOptional.get() : null; } + /** + * 初始化样品状态 + */ private void initSample(CustomerSampleInfo customerSampleInfo) { Long maxNo = this.baseMapper.selectMaxSampleNo(); - String sampleNo = NumberGeneratorUtil.getContactNo("khyp", maxNo); + String sampleNo = NumberGeneratorUtil.getContactNo(SAMPLE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setSampleNo(sampleNo); customerSampleInfo.setCreateUser(authUser.getId()); @@ -202,7 +193,6 @@ private QueryWrapper listParamWrapper(CustomerSampleListRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.select("id,sample_no,sample_name,sample_model,manufacturing_no,customer_id,measure_period,measure_last_time,remark,valid_deadline"); queryWrapper.like(StringUtils.isNotBlank(request.getSampleNo()), "sample_no", request.getSampleNo()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleName()), "sample_name", request.getSampleName()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleBelong()), "sample_belong", request.getSampleBelong()); @@ -210,9 +200,10 @@ queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); if (!StringUtils.isEmpty(request.getOvertimeStatus())) { - queryWrapper.apply(request.getOvertimeStatus().equals("1"), + queryWrapper.apply("1".equals(request.getOvertimeStatus()), + "sysdate() > DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); - queryWrapper.apply(request.getOvertimeStatus().equals("0"), + queryWrapper.apply("0".equals(request.getOvertimeStatus()), "sysdate() <= DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); } queryWrapper.apply(StringUtils.isNotBlank(request.getStartTime()), @@ -224,24 +215,30 @@ return queryWrapper; } + /** + * 通过证书到期时间进行到期状态的计算 + */ private String calculateCertificationStatus(String validDeadline) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if (StringUtils.isEmpty(validDeadline)) { - return "0"; + return NORMAL; } - if (validDeadline.compareTo(sdf.format(new Date())) > 0) { - return "2"; + if (validDeadline.compareTo(sdf.format(new Date())) < 0) { + return ALREADY_EXPIRE; } Calendar date = Calendar.getInstance(); date.setTime(new Date()); date.add(Calendar.DAY_OF_MONTH, -30); - if (validDeadline.compareTo(sdf.format(date.getTime())) > 0) { - return "1"; + if (validDeadline.compareTo(sdf.format(date.getTime())) < 0) { + return ALMOST_EXPIRE; } - return "0"; + return NORMAL; } - private void doCustomerSampleInfoPopulation(CustomerSampleInfo customerSampleInfo) { + /** + * 对样品列表的进行供应商联系方式的填充 + */ + private void doPopulateCustomerSampleInfo(CustomerSampleInfo customerSampleInfo) { CustomerInfo customerInfo = customerMapper.selectById(customerSampleInfo.getCustomerId()); if (!ObjectUtils.isEmpty(customerInfo)) { customerSampleInfo.setPhone(customerInfo.getPhone()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java index 32d4dee..f6e1f8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java @@ -11,13 +11,12 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerMapper; import com.casic.missiles.mapper.customer.CustomerUserMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerInfoResponseMapper; import com.casic.missiles.mapper.customer.customize.SampleRecordsResponseMapper; import com.casic.missiles.model.customer.CustomerInfo; @@ -38,11 +37,10 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerServiceImpl extends ServiceImpl implements CustomerService { +public class CustomerServiceImpl extends ServiceImpl implements CustomerService,PrefixCodeEnum { private final SampleRecordsResponseMapper sampleRecordsResponseMapper; private final CustomerUserMapper customerUserMapper; - private final CertificationResponseMapper certificationMapper; private final IBaseExportService iBaseExportService; private final CustomerInfoResponseMapper customerInfoResponseMapper; @@ -126,18 +124,9 @@ return contractRecordsResponsePage; } - @Override//暂定不做 - public Page mesureRecordsByCustomerId(Long customerId) { - Page measureRecordsResponsePage = PageFactory.defaultPage(); - return measureRecordsResponsePage; - } - @Override public Page certificationByCustomerId(Long customerId) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("customer_id", customerId); - return certificationMapper.selectPage(page, wrapper); + return null; } @Override @@ -163,8 +152,7 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); - queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "bussiness_size", request.getBusinessSize()); - queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); + queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "business_size", request.getBusinessSize()); queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); queryWrapper.eq("is_del", 0); return queryWrapper; @@ -172,7 +160,7 @@ private void initCustomerInfo(CustomerInfo customerInfo) { Long maxNo = this.baseMapper.selectMaxCustomerNo(); - String customerNo = NumberGeneratorUtil.getContactNo("khxx", maxNo); + String customerNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CUSTOMER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerInfo.setCreateUser(authUser.getId()); customerInfo.setUpdateUser(authUser.getId()); @@ -196,7 +184,7 @@ boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { customerUserInfo.setCustomerId(id); - String customerNo = NumberGeneratorUtil.getContactNo("khyh", maxUserNo++); + String customerNo = NumberGeneratorUtil.getContactNo(CUSTOMER_USER_PREFIX, maxUserNo++); customerUserInfo.setUserNo(customerNo); int userAddNum = customerUserMapper.insert(customerUserInfo); if (userAddNum <= 0) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java index d81a488..77e4caf 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java @@ -13,9 +13,10 @@ import com.casic.missiles.dto.equipment.AcceptanceCheckRequest; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentAcceptanceCheckMapper; @@ -183,7 +184,7 @@ public ReturnDTO addAcceptanceCheck(EquipmentApply equipmentApply) { Long maxNo = equipmentApplyMapper.selectMaxNo(); // 生成编号 - String applyNo = NumberGeneratorUtil.getContactNo("sbjxbyysd", maxNo); + String applyNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.REPAIR_MAINTAIN_PREFIX, maxNo); equipmentApply.setApplyNo(applyNo); // 草稿箱状态 equipmentApply.setApprovalStatus(ApprovalStatusEnum.DRAFT); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java index 38ad4e9..d468012 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java @@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.base.service.IBaseExportService; -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.IdDTO; @@ -20,6 +19,9 @@ import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java index 7c4fdbc..e6a1ff8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.equipment.CheckInfoRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoFileMapper; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoMapper; @@ -79,7 +80,7 @@ @Transactional public ReturnDTO addCheckInfo(EquipmentCheckInfo equipmentCheckInfo) { long maxNo = equipmentCheckInfoMapper.selectMaxNo(); - String checkNo = NumberGeneratorUtil.getContactNo("jc", maxNo); + String checkNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CHECK_PREFIX, maxNo); equipmentCheckInfo.setCheckNo(checkNo); if(equipmentCheckInfoMapper.insert(equipmentCheckInfo) > 0){ Long id = equipmentCheckInfo.getId(); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java index ba6a600..7ff9c16 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.equipment; -import cn.hutool.core.io.unit.DataUnit; import com.alibaba.excel.util.DateUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -13,7 +12,8 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.FixedAssetRequest; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentFixedAssetFileMapper; @@ -131,7 +131,7 @@ validManufacturingNo(meterFixedAssets); //生成资产编号 Long maxNo = meterFixedAssetsMapper.selectMaxNo(); - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); meterFixedAssets.setAssetNo(asset_no); meterFixedAssets.setEquipmentNo(asset_no); meterFixedAssetsMapper.insert(meterFixedAssets); @@ -164,7 +164,7 @@ //需要根据出厂编号判重 validManufacturingNo(item); //生成资产编号 - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); item.setAssetNo(asset_no); item.setEquipmentNo(asset_no); maxNo++; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java index 3e63a5a..2b29aa7 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java @@ -18,6 +18,8 @@ import com.casic.missiles.dto.equipment.StandardEquipmentApplyRequest; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.StandardApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java index caa63a7..afa6905 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java @@ -10,9 +10,9 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.StandardEquipmentRequest; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentFileMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentMapper; -import com.casic.missiles.model.equipment.EquipmentApply; import com.casic.missiles.model.equipment.EquipmentStandardEquipment; import com.casic.missiles.model.equipment.EquipmentStandardEquipmentFile; import com.casic.missiles.model.page.PageQuery; @@ -74,7 +74,7 @@ public ReturnDTO add(EquipmentStandardEquipment meterStandardEquipment) { //生成资产编号 Long maxNo = meterStandardEquipmentMapper.selectMaxNo(); - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); meterStandardEquipment.setStandardNo(standard_no); meterStandardEquipmentMapper.insert(meterStandardEquipment); // 插入文件列表 @@ -129,7 +129,7 @@ } DictCodeUtils.validDictCode(item); //生成资产编号 - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); item.setStandardNo(standard_no); maxNo++; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java index 481cf64..b749b2e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java @@ -2,7 +2,6 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.dto.IdDTO; @@ -12,7 +11,7 @@ import com.casic.missiles.dto.equipment.StateManageResponse; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java new file mode 100644 index 0000000..e196dda --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Builder; +import lombok.Data; + +/** + * @author cz + */ +@Data +@Builder +public class NotifyEventStatusDTO { + + /** + * 业务表主键 + */ + private String id; + /** + * 业务表状态 + */ + private String status; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java index 65c19e3..0f3e84f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java @@ -74,7 +74,7 @@ /** * 部门/科室/工程组名称 */ - @ExcelProperty("组织编号") + @ExcelProperty("组织名称") @ApiModelProperty(value = "计量组织名称", dataType = "String", required = true) @NotBlank(message = "计量组织名称不能为空") @TableField("organize_name") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java index 54dc5cd..244e431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java @@ -84,7 +84,7 @@ * 签名用户id(一个用户一个签名,签名不使用关联表,签章暂时使用和使用人的关联表) */ @TableField("sign_user_id") - private String signUserId; + private Long signUserId; /** * 签章或签名-字典code diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java index ca20ca4..0e94b9e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 2f97cb3..fdc4bf0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -3,7 +3,6 @@ import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -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; @@ -17,9 +16,10 @@ import com.casic.missiles.dto.flowable.ApprovalAgreeRequest; import com.casic.missiles.dto.flowable.ApprovalRefuseRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -42,10 +42,9 @@ */ @Service @AllArgsConstructor -public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { +public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService, CertificatePrintStatusEnum { private final IBaseApprovalService baseApprovalService; - private final AbstractDictService dictService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; @@ -86,7 +85,7 @@ } /** - * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 * * @return */ @@ -103,7 +102,7 @@ BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); //设置为不能打印 - certificateReport.setPrintStatus("2"); + certificateReport.setPrintStatus(NON_PRINTABLE); certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { @@ -113,7 +112,7 @@ } /** - * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 */ @Transactional @Override @@ -128,7 +127,7 @@ //审批状态为审批中 certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //打印状态审批中 - certificateReport.setPrintStatus("3"); + certificateReport.setPrintStatus(IN_APPROVAL); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -142,7 +141,7 @@ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)&&CollectionUtils.isEmpty(request.getIds())) { - handlerBeApproved(approvalList, page, request); + approvalList=handlerBeApproved(approvalList, page, request); }else { approvalList=this.baseMapper.selectBatchForApprovalList(page, request, null); } 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 d03ab22..164c53a 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,17 +7,22 @@ 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.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; -import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +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.MonitorCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -26,9 +31,9 @@ import com.casic.missiles.service.business.IBusinessCertificateReportService; import com.casic.missiles.service.business.IBusinessOriginalRecordService; import com.casic.missiles.service.flowable.ApprovalOperateService; -import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; +import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.runtime.ProcessInstance; @@ -68,8 +73,10 @@ private RuntimeService runtimeService; @Resource private IBaseExportService iBaseExportService; + /** * 保存证书报告信息 + * * @param certificateReport * @return */ @@ -77,7 +84,7 @@ public ReturnDTO saveCertificateReport(BusinessCertificateReport certificateReport) { initCertificateReport(certificateReport); - if(this.baseMapper.insert(certificateReport)>0) + if (this.baseMapper.insert(certificateReport) > 0) return ReturnUtil.success(); throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -90,9 +97,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //删除数据库记录 - if(this.baseMapper.deleteById(request.getId()) > 0){ + if (this.baseMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -101,7 +108,7 @@ @Override public ReturnDTO draftUpdate(BusinessCertificateReport certificateReport) { - if(this.baseMapper.updateById(certificateReport)>0){ + if (this.baseMapper.updateById(certificateReport) > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -109,25 +116,27 @@ /** * 批量删除 + * * @param ids * @return */ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - return baseMapper.deleteBatchIds(ids) > 0?ReturnUtil.success(): + return baseMapper.deleteBatchIds(ids) > 0 ? ReturnUtil.success() : ReturnUtil.failed("删除失败"); } /** * 证书报告详情 + * * @param id * @return */ @Override public BusinessCertificateReport certificateReportDetail(Long id) { BusinessCertificateReport certificateReport = this.baseMapper.selectById(id); - if(certificateReport.getOriginalRecordId()!=null){ + if (certificateReport.getOriginalRecordId() != null) { try { certificateReport.setBusinessOriginalRecord(originalRecordService.originalDetail(certificateReport.getOriginalRecordId())); } catch (Exception e) { @@ -139,6 +148,7 @@ /** * 提交证书报告 + * * @param request * @return */ @@ -148,10 +158,10 @@ String formId = request.getFormId(); //2.根据流程定义id启动流程实例 ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); certificateReport.setApprovalStatus(ApprovalStatusEnum.UN_DRAFT); //非草稿状态 @@ -165,6 +175,7 @@ /** * 审批状态列表查询 + * * @param page * @param request * @return @@ -182,6 +193,7 @@ /** * 驳回后更新 + * * @param certificateReport * @return */ @@ -208,13 +220,14 @@ @Override public void originExport(CertificateReportApprovalRequest request, HttpServletResponse response) { try { - //toDo: -// List certificateReportResponses = this.certificateReport(request); -// for (OriginRecordResponse originRecordResponse : originExportList) { -// //字典值转换 -// DictCodeUtils.convertDictCodeToName(originRecordResponse); -// } -// iBaseExportService.exportExcel(response, CertificateReportResponse.class, originExportList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); + //登录用户 + AuthUser user = ShiroKit.getUser(); + Assert.isFalse(Objects.isNull(user), () -> { + throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); + }); + request.setCreateUserId(user.getId()); + List reportResponseList = handleApprovalStatus(null, request); + iBaseExportService.exportExcel(response, CertificateReportResponse.class, reportResponseList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); } catch (Exception e) { log.error("证书报告导出出现异常,异常信息为{}", e); } @@ -231,15 +244,15 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -251,27 +264,27 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ - approvalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); + if (!CollectionUtils.isEmpty(businessKeys)) { + approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ - rejectApprovalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { + rejectApprovalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -279,7 +292,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.CANCELED); } break; @@ -288,10 +301,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleAllApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), AllApproveList); } break; @@ -299,9 +312,26 @@ return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List allApproveList) { - Map taskMap = new HashMap<>(); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + /** + * 客户、样品详情列表 + */ + @Override + public Page certificateRecordsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception { + Page page = PageFactory.defaultPage(); + Page certificateResponsePage = this.baseMapper.certificateRecordsById(page, customerSampleIdRequest); + for (CertificationResponse customerSampleListResponse : certificateResponsePage.getRecords()) { + if (!StringUtils.isEmpty(customerSampleListResponse.getCertificationClass())) { + DictCodeUtils.convertDictMultiCodeToName(customerSampleListResponse); + } + } + return certificateResponsePage; + } + + private List handleAllApprovalListResponse(List approvalList, List allApproveList) { + Map taskMap = new HashMap<>(); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -313,7 +343,7 @@ return approvalList.stream().sorted(Comparator.comparing(CertificateReportResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, String status){ + private List handleApprovalListResponse(List approvalList, String status) { approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); @@ -324,14 +354,14 @@ private void initCertificateReport(BusinessCertificateReport certificateReport) { String prefix = MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue() - +DateUtil.format(new Date(),"YYYYMM"); + + DateUtil.format(new Date(), "YYYYMM"); Long maxNo = this.baseMapper.selectMaxCode(prefix); //生成证书编号 - String certificateReportNo =NumberGeneratorUtil.getCode( - MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(),maxNo); + String certificateReportNo = NumberGeneratorUtil.getCode( + MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(), maxNo); AuthUser authUser = ShiroKit.getUser(); certificateReport.setCreateUser(authUser.getId()); - certificateReport.setMeasurePersonId(authUser.getId()+""); + certificateReport.setMeasurePersonId(authUser.getId() + ""); certificateReport.setMeasureDeptId(authUser.getDeptId()); certificateReport.setCertificateReportCode(certificateReportNo); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index c4ed5f6..5456773 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -12,13 +12,12 @@ import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; import com.casic.missiles.mapper.business.EnvironmentListResponseMapper; import com.casic.missiles.model.business.BusinessEnvironmentRecord; -import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 859010b..0d847a0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessInterchangeMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; @@ -35,7 +36,7 @@ * 业务管理-设备交接单 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @@ -83,7 +84,7 @@ } /** - * 更新不对样品有任何操作 + * 更新只是交接单的变更,没有任何其他单位的变化 */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { @@ -94,6 +95,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 交接单新增,同时在样品委托书管理表中新增交接单记录id + */ @Override @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { @@ -111,6 +115,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 选中判断ids存在,进行其他条件的清空 + */ @Override public void exportExchange(InterchangeListRequest request, HttpServletResponse response) { try { @@ -153,7 +160,7 @@ private void populationExchange(BusinessInterchange businessInterchange) { Long maxNo = this.baseMapper.selectMaxExchangeNo(); - String orderNo = NumberGeneratorUtil.getContactNo("jjdh", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.INTER_CHANGE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessInterchange.setCreateUser(authUser.getId()); businessInterchange.setInterchangeCode(orderNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java index 585a207..955cc7a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java @@ -13,19 +13,18 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.*; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.HandOutPropertyEnum; -import com.casic.missiles.enums.MeasureStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.HandOutPropertyEnum; +import com.casic.missiles.enums.business.MeasureStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.*; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; -import com.casic.missiles.model.business.BusinessLabExecutiveInfo; -import com.casic.missiles.model.business.BusinessLabExecutiveOperateLog; -import com.casic.missiles.model.business.BusinessLabExecutiveTemplateInfo; +import com.casic.missiles.model.business.*; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; import com.casic.missiles.service.business.IBusinessLabExecutiveTemplateInfoService; @@ -71,6 +70,8 @@ private AbstractDictService dictService; @Autowired private MeterStaffMapper staffMapper; + @Autowired + private BusinessOrderMapper orderMapper; @Override public Page handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) throws Exception{ @@ -377,7 +378,9 @@ if(CollectionUtils.isEmpty(unExecutiveInfos)){ //更新样品状态为检测完 orderSampleRelationMapper.updateByOrderIdAndSampleId(pre.getOrderId(), pre.getSampleId(), SampleStatusEnum.MEASURE_COMPLETE); - // TODO: 2023/2/17 委托书中所有样品检测完更新委托书接收状态为检测完成,需求待定 + + //委托书中所有样品检测完更新委托书接收状态为检测完成,未检测完的数量为0则表示全部检完 + updateOrderStatusComplete(pre); //将检测记录加入到实验室检测模板(仅全部为检测完成的才加入到模板,包含终止的不会加入) List labList = new ArrayList<>(); @@ -407,9 +410,27 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + @Transactional + public void updateOrderStatusComplete(SampleOperateRequest pre) { + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("order_id", pre.getOrderId()); + List statusList = new ArrayList<>(); + statusList.add(SampleStatusEnum.TO_RECEIVE); + statusList.add(SampleStatusEnum.TO_HANDOUT); + statusList.add(SampleStatusEnum.IN_MEASURE); + wrapper1.in("sample_status", statusList); + //同一事务中可查到更新后的数量 + if(orderSampleRelationMapper.selectCount(wrapper1) == 0){ + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(pre.getOrderId()); + businessOrder.setStatus(OrderStatusEnum.COMPLETE); + orderMapper.updateById(businessOrder); + } + } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + String templateCode = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.LAB_EXECUTIVE_TEMPLATE_PREFIX, maxNo + i); templateInfo.setTemplateCode(templateCode); // templateInfo.setSampleTypeId(); templateInfo.setSampleId(lab.getSampleId()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index f5c6f61..1d63554 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -14,6 +14,10 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; +import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; @@ -35,7 +39,6 @@ import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -45,12 +48,12 @@ * 业务管理-委托书 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @AllArgsConstructor -public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { +public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService,PrefixCodeEnum, OrderStatusEnum,SampleStatusEnum, MeasureTypeEnum { private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; @@ -90,8 +93,10 @@ List customerSampleList = new ArrayList<>(); for (BusinessOrderSampleRelation orderSample : orderSampleList) { CustomerSampleInfo customerSampleInfo = customerSampleService.sampleDetail(orderSample.getSampleId()); - customerSampleInfo.setIsExistSample("1"); - customerSampleList.add(customerSampleInfo); + if (null != customerSampleInfo) { + customerSampleInfo.setIsExistSample("1"); + customerSampleList.add(customerSampleInfo); + } } businessOrder.setCustomerSampleInfoList(customerSampleList); return businessOrder; @@ -202,7 +207,13 @@ @Override public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); - String dealType = "委托书" + ((status.equals("2")) ? "接收" : "退回"); + String dealType = ""; + if (status.equals(ALREADY_RECEIVED)) { + dealType = "委托书接收" ; + doUpdateSampleStatus(orderCancelRequest.getId(),TO_RECEIVE); + } else { + dealType = "委托书退回"; + } int addDealRecordFlag = addDealRecord(orderCancelRequest, dealType); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -216,7 +227,7 @@ @Override @Transactional public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { - int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), ALREADY_CANCEL); int addDealRecordFlag = addDealRecord(orderCancelRequest, "委托书取消"); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -250,6 +261,7 @@ return dealRecordMapper.insert(businessDealRecord); } + /** * 强调正在做状态更新 */ @@ -280,12 +292,12 @@ private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); - String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(ORDER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); - businessOrder.setStatus("1"); + businessOrder.setStatus(NOT_RECEIVED); } /** @@ -320,10 +332,23 @@ sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); - sampleStatusPopulation.setMeasureType("1"); + sampleStatusPopulation.setMeasureType(INSIDE_MEASURE); return this.sampleRelationMapper.insert(sampleStatusPopulation); } + /** + * 强调正在做状态更新 + */ + private int doUpdateSampleStatus(Long orderId, String sampleStatus) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", orderId); + BusinessOrderSampleRelation orderSample = new BusinessOrderSampleRelation(); + orderSample.setId(orderId); + orderSample.setSampleStatus(sampleStatus); + return this.sampleRelationMapper.update(orderSample, queryWrapper); + } + + private void doSampleListPopulation(BusinessOrder businessOrder) { businessOrder.getCustomerSampleInfoList().forEach( customerSampleInfo -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java index 1e35b7a..1c602b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java @@ -131,7 +131,7 @@ @Override public ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord) { - if (this.baseMapper.insert(businessOriginalRecord) > 0) { + if (this.baseMapper.updateById(businessOriginalRecord) > 0) { //加入技术文件绑定 if (ObjectUtil.isNotEmpty(businessOriginalRecord.getFileList()) && businessOriginalRecord.getFileList().size() > 0) { originalRecordFileRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getFileList()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java index 07c88e9..c9c1902 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.date.DateUtil; import com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -14,6 +15,7 @@ import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; @@ -29,6 +31,7 @@ import org.springframework.util.ObjectUtils; import javax.servlet.http.HttpServletResponse; +import java.util.Date; import java.util.List; import java.util.Objects; import java.util.Optional; @@ -39,7 +42,7 @@ @Service @Slf4j @AllArgsConstructor -public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService { +public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService, SampleStatusEnum, CurrentSegmentEnum, MeasureTypeEnum { private final BusinessOrderSampleRelationMapper orderSampleRelationMapper; private final BusinessCertificateReportMapper certificateReportMapper; @@ -73,20 +76,20 @@ Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.TO_HANDOUT: + case TO_HANDOUT: //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 - case SampleStatusEnum.IN_MEASURE: + case IN_MEASURE: //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.MEASURE_COMPLETE: + case MEASURE_COMPLETE: doDispatchVoPopulation(dispatchVO, sampleId, orderId); return; //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 - case SampleStatusEnum.BE_OVERDUE: + case BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); @@ -126,12 +129,14 @@ /** - * 状态更新 + * 根据sampleId,orderId,进行状态更新 */ @Override + @Transactional public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { + boolean beforeEventFlag = beforeStatusChange(deviceStatusChangeDTO); Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFlag > 0) { + if (updateFlag > 0 && beforeEventFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -181,8 +186,9 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); +// queryWrapper.ne("order_id", deviceStatusChangeDTO.getOrderId()); BusinessLabExecutiveInfo businessLabExecutiveInfo = new BusinessLabExecutiveInfo(); - businessLabExecutiveInfo.setMeasureStatus(deviceStatusChangeDTO.getStatus()); +// businessLabExecutiveInfo.setMeasureStatus(); businessLabExecutiveInfo.setRemark(deviceStatusChangeDTO.getReason()); labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } @@ -214,6 +220,9 @@ return handOutLabExecutiveDTOOptional.orElse(null); } + /** + * 构建证书的查询条件 + */ private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("order_id", dispatchVO.getOrderId()); @@ -230,7 +239,8 @@ queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); if (terminateFlag) { - queryWrapper.eq("sample_status", "2").or().eq("sample_status", "3").or().eq("sample_status", "4"); + //若是终止,需要对应待分发、检测中、检测完三个状态的变更 + queryWrapper.eq("sample_status", TO_HANDOUT).or().eq("sample_status", IN_MEASURE).or().eq("sample_status", MEASURE_COMPLETE); } BusinessOrderSampleRelation businessOrderSampleRelation = new BusinessOrderSampleRelation(); businessOrderSampleRelation.setSampleStatus(statusChangeDTO.getStatus()); @@ -238,12 +248,12 @@ } /** - * 判断不是自检 + * 判断不是自检,即外包和外检,进行环节设定 */ private boolean notSelfMeasure(DeviceDispatchVO dispatchVO) { if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType())) { - if (MeasureStatusEnum.TO_ALLOCATE.equals(String.valueOf(dispatchVO.getMeasureType())) || MeasureStatusEnum.TO_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { - String currentSegment = MeasureStatusEnum.TO_ALLOCATE.equals(dispatchVO.getMeasureType()) ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; + if (OTHERS_UNDERTAKE.equals(String.valueOf(dispatchVO.getMeasureType())) || OUTSIDE_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { + String currentSegment = OTHERS_UNDERTAKE.equals(dispatchVO.getMeasureType()) ? OUT_UNDERTAKE : OUT_MESASUR; dispatchVO.setCurrentSegment(currentSegment); return true; } @@ -251,6 +261,9 @@ return false; } + /** + * 其他条件的置为空 + */ private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { request.setSampleName(null); request.setSampleNo(null); @@ -264,18 +277,38 @@ } /** - * 判断样品是完成或接收状态,直接显示即可 + * 判断样品是完成或接收状态,进行当前阶段环节的设置 */ private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { - if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + if (TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_INCOME); return true; } - if (SampleStatusEnum.TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); + if (TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_ALLOCATE); return true; } return false; } + private boolean beforeStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(TO_INCOME)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + List orderSampleRelationList = this.orderSampleRelationMapper.selectList(queryWrapper); + Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); + if (orderSampleRelationOptional.isPresent()) { + BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); + if (businessOrderSampleRelation.getSampleStatus().equals(TO_ALLOCATE)) { + BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); + businessOrderSample.setRealDeliverTime(DateUtil.format(new Date(), "yyyy-MM-dd")); + int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); + return updateFlag > 0 ? true : false; + } + } + } + return true; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java index 4f06678..e2fea21 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerAdviceMapper; import com.casic.missiles.mapper.customer.CustomerMapper; @@ -34,7 +35,7 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerAdviceServiceImpl implements CustomerAdviceService { +public class CustomerAdviceServiceImpl implements CustomerAdviceService,PrefixCodeEnum { private final CustomerAdviceMapper customerAdviceMapper; private final IBaseExportService iBaseExportService; @@ -122,7 +123,7 @@ private void initCustomerAdviceInfo(CustomerAdviceInfo customerAdviceInfo) { Long maxNo = customerAdviceMapper.selectMaxAdviceNo(); - String adviceNo = NumberGeneratorUtil.getContactNo("khjy", maxNo); + String adviceNo = NumberGeneratorUtil.getContactNo(CUSTOMER_ADVICE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerAdviceInfo.setCreateUser(authUser.getId()); customerAdviceInfo.setUpdateUser(authUser.getId()); 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 4889e55..f9747dd 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 @@ -10,18 +10,19 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.sample.CertificationExpireStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; import com.casic.missiles.mapper.customer.CustomerMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerSampleListResponseMapper; import com.casic.missiles.mapper.customer.CustomerSampleMapper; -import com.casic.missiles.mapper.customer.customize.MesureRecordsResponseMapper; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -42,13 +43,11 @@ @Service @AllArgsConstructor -public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService { +public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService, CertificationExpireStatusEnum,PrefixCodeEnum{ private final CustomerSampleListResponseMapper customerSampleListResponseMapper; private final CustomerMapper customerMapper; private final IBaseExportService iBaseExportService; - private final CertificationResponseMapper certificationResponseMapper; - private final MesureRecordsResponseMapper mesureResponseMapper; private final BusinessOrderSampleRelationMapper sampleRelationMapper; @Override @@ -58,14 +57,14 @@ customerSamplePage.getRecords() .forEach(customerSample -> { BusinessOrderSampleRelation businessOrderSampleRelation = this.getSampleStatusById(customerSample.getId()); + customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); - customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); } }); for (CustomerSampleListResponse customerSampleListResponse : customerSamplePage.getRecords()) { - if (!StringUtils.isEmpty(customerSampleListResponse.getSampleSatus())) { + if (!StringUtils.isEmpty(customerSampleListResponse.getSampleStatus())) { DictCodeUtils.convertDictCodeToName(customerSampleListResponse); } } @@ -106,14 +105,13 @@ public CustomerSampleInfo sampleDetail(Long id) { CustomerSampleInfo customerSampleInfo = this.baseMapper.selectById(id); if (!ObjectUtils.isEmpty(customerSampleInfo)) { - doCustomerSampleInfoPopulation(customerSampleInfo); + doPopulateCustomerSampleInfo(customerSampleInfo); } return customerSampleInfo; } /** * 只导出样品列表信息 - * */ @Override public void sampleExport(CustomerSampleListRequest request, HttpServletResponse response) { @@ -135,7 +133,7 @@ BusinessOrderSampleRelation businessOrderSampleRelation = businessOrderMap.get(customerSample.getId()); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); } } @@ -159,26 +157,16 @@ } @Override - public Page measureRecordsBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page measureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); + public Page measureRecordsById(CustomerSampleIdRequest customerSampleIdRequest) { + Page page = PageFactory.defaultPage(); + Page measureRecordsResponsePage = this.baseMapper.measureRecordsById(page, customerSampleIdRequest); return measureRecordsResponsePage; } - @Override - public Page certificationBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page certificateResponsePage = certificationResponseMapper.selectPage(page, wrapper); - return certificateResponsePage; - } @Override - public Page samplesByOderId(Page page,Long orderId, String sampleNo, String sampleName) { - return this.baseMapper.samplesByOderId(page,orderId,sampleNo,sampleName); + public Page samplesByOderId(Page page, Long orderId, String sampleNo, String sampleName) { + return this.baseMapper.samplesByOderId(page, orderId, sampleNo, sampleName); } private BusinessOrderSampleRelation getSampleStatusById(Long sampleId) { @@ -190,9 +178,12 @@ return orderSampleOptional.isPresent() ? orderSampleOptional.get() : null; } + /** + * 初始化样品状态 + */ private void initSample(CustomerSampleInfo customerSampleInfo) { Long maxNo = this.baseMapper.selectMaxSampleNo(); - String sampleNo = NumberGeneratorUtil.getContactNo("khyp", maxNo); + String sampleNo = NumberGeneratorUtil.getContactNo(SAMPLE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setSampleNo(sampleNo); customerSampleInfo.setCreateUser(authUser.getId()); @@ -202,7 +193,6 @@ private QueryWrapper listParamWrapper(CustomerSampleListRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.select("id,sample_no,sample_name,sample_model,manufacturing_no,customer_id,measure_period,measure_last_time,remark,valid_deadline"); queryWrapper.like(StringUtils.isNotBlank(request.getSampleNo()), "sample_no", request.getSampleNo()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleName()), "sample_name", request.getSampleName()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleBelong()), "sample_belong", request.getSampleBelong()); @@ -210,9 +200,10 @@ queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); if (!StringUtils.isEmpty(request.getOvertimeStatus())) { - queryWrapper.apply(request.getOvertimeStatus().equals("1"), + queryWrapper.apply("1".equals(request.getOvertimeStatus()), + "sysdate() > DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); - queryWrapper.apply(request.getOvertimeStatus().equals("0"), + queryWrapper.apply("0".equals(request.getOvertimeStatus()), "sysdate() <= DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); } queryWrapper.apply(StringUtils.isNotBlank(request.getStartTime()), @@ -224,24 +215,30 @@ return queryWrapper; } + /** + * 通过证书到期时间进行到期状态的计算 + */ private String calculateCertificationStatus(String validDeadline) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if (StringUtils.isEmpty(validDeadline)) { - return "0"; + return NORMAL; } - if (validDeadline.compareTo(sdf.format(new Date())) > 0) { - return "2"; + if (validDeadline.compareTo(sdf.format(new Date())) < 0) { + return ALREADY_EXPIRE; } Calendar date = Calendar.getInstance(); date.setTime(new Date()); date.add(Calendar.DAY_OF_MONTH, -30); - if (validDeadline.compareTo(sdf.format(date.getTime())) > 0) { - return "1"; + if (validDeadline.compareTo(sdf.format(date.getTime())) < 0) { + return ALMOST_EXPIRE; } - return "0"; + return NORMAL; } - private void doCustomerSampleInfoPopulation(CustomerSampleInfo customerSampleInfo) { + /** + * 对样品列表的进行供应商联系方式的填充 + */ + private void doPopulateCustomerSampleInfo(CustomerSampleInfo customerSampleInfo) { CustomerInfo customerInfo = customerMapper.selectById(customerSampleInfo.getCustomerId()); if (!ObjectUtils.isEmpty(customerInfo)) { customerSampleInfo.setPhone(customerInfo.getPhone()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java index 32d4dee..f6e1f8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java @@ -11,13 +11,12 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerMapper; import com.casic.missiles.mapper.customer.CustomerUserMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerInfoResponseMapper; import com.casic.missiles.mapper.customer.customize.SampleRecordsResponseMapper; import com.casic.missiles.model.customer.CustomerInfo; @@ -38,11 +37,10 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerServiceImpl extends ServiceImpl implements CustomerService { +public class CustomerServiceImpl extends ServiceImpl implements CustomerService,PrefixCodeEnum { private final SampleRecordsResponseMapper sampleRecordsResponseMapper; private final CustomerUserMapper customerUserMapper; - private final CertificationResponseMapper certificationMapper; private final IBaseExportService iBaseExportService; private final CustomerInfoResponseMapper customerInfoResponseMapper; @@ -126,18 +124,9 @@ return contractRecordsResponsePage; } - @Override//暂定不做 - public Page mesureRecordsByCustomerId(Long customerId) { - Page measureRecordsResponsePage = PageFactory.defaultPage(); - return measureRecordsResponsePage; - } - @Override public Page certificationByCustomerId(Long customerId) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("customer_id", customerId); - return certificationMapper.selectPage(page, wrapper); + return null; } @Override @@ -163,8 +152,7 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); - queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "bussiness_size", request.getBusinessSize()); - queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); + queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "business_size", request.getBusinessSize()); queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); queryWrapper.eq("is_del", 0); return queryWrapper; @@ -172,7 +160,7 @@ private void initCustomerInfo(CustomerInfo customerInfo) { Long maxNo = this.baseMapper.selectMaxCustomerNo(); - String customerNo = NumberGeneratorUtil.getContactNo("khxx", maxNo); + String customerNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CUSTOMER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerInfo.setCreateUser(authUser.getId()); customerInfo.setUpdateUser(authUser.getId()); @@ -196,7 +184,7 @@ boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { customerUserInfo.setCustomerId(id); - String customerNo = NumberGeneratorUtil.getContactNo("khyh", maxUserNo++); + String customerNo = NumberGeneratorUtil.getContactNo(CUSTOMER_USER_PREFIX, maxUserNo++); customerUserInfo.setUserNo(customerNo); int userAddNum = customerUserMapper.insert(customerUserInfo); if (userAddNum <= 0) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java index d81a488..77e4caf 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java @@ -13,9 +13,10 @@ import com.casic.missiles.dto.equipment.AcceptanceCheckRequest; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentAcceptanceCheckMapper; @@ -183,7 +184,7 @@ public ReturnDTO addAcceptanceCheck(EquipmentApply equipmentApply) { Long maxNo = equipmentApplyMapper.selectMaxNo(); // 生成编号 - String applyNo = NumberGeneratorUtil.getContactNo("sbjxbyysd", maxNo); + String applyNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.REPAIR_MAINTAIN_PREFIX, maxNo); equipmentApply.setApplyNo(applyNo); // 草稿箱状态 equipmentApply.setApprovalStatus(ApprovalStatusEnum.DRAFT); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java index 38ad4e9..d468012 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java @@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.base.service.IBaseExportService; -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.IdDTO; @@ -20,6 +19,9 @@ import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java index 7c4fdbc..e6a1ff8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.equipment.CheckInfoRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoFileMapper; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoMapper; @@ -79,7 +80,7 @@ @Transactional public ReturnDTO addCheckInfo(EquipmentCheckInfo equipmentCheckInfo) { long maxNo = equipmentCheckInfoMapper.selectMaxNo(); - String checkNo = NumberGeneratorUtil.getContactNo("jc", maxNo); + String checkNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CHECK_PREFIX, maxNo); equipmentCheckInfo.setCheckNo(checkNo); if(equipmentCheckInfoMapper.insert(equipmentCheckInfo) > 0){ Long id = equipmentCheckInfo.getId(); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java index ba6a600..7ff9c16 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.equipment; -import cn.hutool.core.io.unit.DataUnit; import com.alibaba.excel.util.DateUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -13,7 +12,8 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.FixedAssetRequest; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentFixedAssetFileMapper; @@ -131,7 +131,7 @@ validManufacturingNo(meterFixedAssets); //生成资产编号 Long maxNo = meterFixedAssetsMapper.selectMaxNo(); - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); meterFixedAssets.setAssetNo(asset_no); meterFixedAssets.setEquipmentNo(asset_no); meterFixedAssetsMapper.insert(meterFixedAssets); @@ -164,7 +164,7 @@ //需要根据出厂编号判重 validManufacturingNo(item); //生成资产编号 - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); item.setAssetNo(asset_no); item.setEquipmentNo(asset_no); maxNo++; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java index 3e63a5a..2b29aa7 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java @@ -18,6 +18,8 @@ import com.casic.missiles.dto.equipment.StandardEquipmentApplyRequest; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.StandardApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java index caa63a7..afa6905 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java @@ -10,9 +10,9 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.StandardEquipmentRequest; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentFileMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentMapper; -import com.casic.missiles.model.equipment.EquipmentApply; import com.casic.missiles.model.equipment.EquipmentStandardEquipment; import com.casic.missiles.model.equipment.EquipmentStandardEquipmentFile; import com.casic.missiles.model.page.PageQuery; @@ -74,7 +74,7 @@ public ReturnDTO add(EquipmentStandardEquipment meterStandardEquipment) { //生成资产编号 Long maxNo = meterStandardEquipmentMapper.selectMaxNo(); - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); meterStandardEquipment.setStandardNo(standard_no); meterStandardEquipmentMapper.insert(meterStandardEquipment); // 插入文件列表 @@ -129,7 +129,7 @@ } DictCodeUtils.validDictCode(item); //生成资产编号 - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); item.setStandardNo(standard_no); maxNo++; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java index 481cf64..b749b2e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java @@ -2,7 +2,6 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.dto.IdDTO; @@ -12,7 +11,7 @@ import com.casic.missiles.dto.equipment.StateManageResponse; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java index 5dd6f8e..e566e01 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.EquipmentWorkbenchResponse; -import com.casic.missiles.enums.ApplyFromIdEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java new file mode 100644 index 0000000..e196dda --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Builder; +import lombok.Data; + +/** + * @author cz + */ +@Data +@Builder +public class NotifyEventStatusDTO { + + /** + * 业务表主键 + */ + private String id; + /** + * 业务表状态 + */ + private String status; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java index 65c19e3..0f3e84f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java @@ -74,7 +74,7 @@ /** * 部门/科室/工程组名称 */ - @ExcelProperty("组织编号") + @ExcelProperty("组织名称") @ApiModelProperty(value = "计量组织名称", dataType = "String", required = true) @NotBlank(message = "计量组织名称不能为空") @TableField("organize_name") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java index 54dc5cd..244e431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java @@ -84,7 +84,7 @@ * 签名用户id(一个用户一个签名,签名不使用关联表,签章暂时使用和使用人的关联表) */ @TableField("sign_user_id") - private String signUserId; + private Long signUserId; /** * 签章或签名-字典code diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java index ca20ca4..0e94b9e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 2f97cb3..fdc4bf0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -3,7 +3,6 @@ import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -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; @@ -17,9 +16,10 @@ import com.casic.missiles.dto.flowable.ApprovalAgreeRequest; import com.casic.missiles.dto.flowable.ApprovalRefuseRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -42,10 +42,9 @@ */ @Service @AllArgsConstructor -public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { +public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService, CertificatePrintStatusEnum { private final IBaseApprovalService baseApprovalService; - private final AbstractDictService dictService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; @@ -86,7 +85,7 @@ } /** - * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 * * @return */ @@ -103,7 +102,7 @@ BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); //设置为不能打印 - certificateReport.setPrintStatus("2"); + certificateReport.setPrintStatus(NON_PRINTABLE); certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { @@ -113,7 +112,7 @@ } /** - * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 */ @Transactional @Override @@ -128,7 +127,7 @@ //审批状态为审批中 certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //打印状态审批中 - certificateReport.setPrintStatus("3"); + certificateReport.setPrintStatus(IN_APPROVAL); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -142,7 +141,7 @@ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)&&CollectionUtils.isEmpty(request.getIds())) { - handlerBeApproved(approvalList, page, request); + approvalList=handlerBeApproved(approvalList, page, request); }else { approvalList=this.baseMapper.selectBatchForApprovalList(page, request, null); } 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 d03ab22..164c53a 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,17 +7,22 @@ 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.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; -import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +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.MonitorCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -26,9 +31,9 @@ import com.casic.missiles.service.business.IBusinessCertificateReportService; import com.casic.missiles.service.business.IBusinessOriginalRecordService; import com.casic.missiles.service.flowable.ApprovalOperateService; -import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; +import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.runtime.ProcessInstance; @@ -68,8 +73,10 @@ private RuntimeService runtimeService; @Resource private IBaseExportService iBaseExportService; + /** * 保存证书报告信息 + * * @param certificateReport * @return */ @@ -77,7 +84,7 @@ public ReturnDTO saveCertificateReport(BusinessCertificateReport certificateReport) { initCertificateReport(certificateReport); - if(this.baseMapper.insert(certificateReport)>0) + if (this.baseMapper.insert(certificateReport) > 0) return ReturnUtil.success(); throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -90,9 +97,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //删除数据库记录 - if(this.baseMapper.deleteById(request.getId()) > 0){ + if (this.baseMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -101,7 +108,7 @@ @Override public ReturnDTO draftUpdate(BusinessCertificateReport certificateReport) { - if(this.baseMapper.updateById(certificateReport)>0){ + if (this.baseMapper.updateById(certificateReport) > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -109,25 +116,27 @@ /** * 批量删除 + * * @param ids * @return */ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - return baseMapper.deleteBatchIds(ids) > 0?ReturnUtil.success(): + return baseMapper.deleteBatchIds(ids) > 0 ? ReturnUtil.success() : ReturnUtil.failed("删除失败"); } /** * 证书报告详情 + * * @param id * @return */ @Override public BusinessCertificateReport certificateReportDetail(Long id) { BusinessCertificateReport certificateReport = this.baseMapper.selectById(id); - if(certificateReport.getOriginalRecordId()!=null){ + if (certificateReport.getOriginalRecordId() != null) { try { certificateReport.setBusinessOriginalRecord(originalRecordService.originalDetail(certificateReport.getOriginalRecordId())); } catch (Exception e) { @@ -139,6 +148,7 @@ /** * 提交证书报告 + * * @param request * @return */ @@ -148,10 +158,10 @@ String formId = request.getFormId(); //2.根据流程定义id启动流程实例 ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); certificateReport.setApprovalStatus(ApprovalStatusEnum.UN_DRAFT); //非草稿状态 @@ -165,6 +175,7 @@ /** * 审批状态列表查询 + * * @param page * @param request * @return @@ -182,6 +193,7 @@ /** * 驳回后更新 + * * @param certificateReport * @return */ @@ -208,13 +220,14 @@ @Override public void originExport(CertificateReportApprovalRequest request, HttpServletResponse response) { try { - //toDo: -// List certificateReportResponses = this.certificateReport(request); -// for (OriginRecordResponse originRecordResponse : originExportList) { -// //字典值转换 -// DictCodeUtils.convertDictCodeToName(originRecordResponse); -// } -// iBaseExportService.exportExcel(response, CertificateReportResponse.class, originExportList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); + //登录用户 + AuthUser user = ShiroKit.getUser(); + Assert.isFalse(Objects.isNull(user), () -> { + throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); + }); + request.setCreateUserId(user.getId()); + List reportResponseList = handleApprovalStatus(null, request); + iBaseExportService.exportExcel(response, CertificateReportResponse.class, reportResponseList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); } catch (Exception e) { log.error("证书报告导出出现异常,异常信息为{}", e); } @@ -231,15 +244,15 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -251,27 +264,27 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ - approvalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); + if (!CollectionUtils.isEmpty(businessKeys)) { + approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ - rejectApprovalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { + rejectApprovalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -279,7 +292,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.CANCELED); } break; @@ -288,10 +301,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleAllApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), AllApproveList); } break; @@ -299,9 +312,26 @@ return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List allApproveList) { - Map taskMap = new HashMap<>(); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + /** + * 客户、样品详情列表 + */ + @Override + public Page certificateRecordsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception { + Page page = PageFactory.defaultPage(); + Page certificateResponsePage = this.baseMapper.certificateRecordsById(page, customerSampleIdRequest); + for (CertificationResponse customerSampleListResponse : certificateResponsePage.getRecords()) { + if (!StringUtils.isEmpty(customerSampleListResponse.getCertificationClass())) { + DictCodeUtils.convertDictMultiCodeToName(customerSampleListResponse); + } + } + return certificateResponsePage; + } + + private List handleAllApprovalListResponse(List approvalList, List allApproveList) { + Map taskMap = new HashMap<>(); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -313,7 +343,7 @@ return approvalList.stream().sorted(Comparator.comparing(CertificateReportResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, String status){ + private List handleApprovalListResponse(List approvalList, String status) { approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); @@ -324,14 +354,14 @@ private void initCertificateReport(BusinessCertificateReport certificateReport) { String prefix = MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue() - +DateUtil.format(new Date(),"YYYYMM"); + + DateUtil.format(new Date(), "YYYYMM"); Long maxNo = this.baseMapper.selectMaxCode(prefix); //生成证书编号 - String certificateReportNo =NumberGeneratorUtil.getCode( - MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(),maxNo); + String certificateReportNo = NumberGeneratorUtil.getCode( + MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(), maxNo); AuthUser authUser = ShiroKit.getUser(); certificateReport.setCreateUser(authUser.getId()); - certificateReport.setMeasurePersonId(authUser.getId()+""); + certificateReport.setMeasurePersonId(authUser.getId() + ""); certificateReport.setMeasureDeptId(authUser.getDeptId()); certificateReport.setCertificateReportCode(certificateReportNo); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index c4ed5f6..5456773 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -12,13 +12,12 @@ import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; import com.casic.missiles.mapper.business.EnvironmentListResponseMapper; import com.casic.missiles.model.business.BusinessEnvironmentRecord; -import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 859010b..0d847a0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessInterchangeMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; @@ -35,7 +36,7 @@ * 业务管理-设备交接单 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @@ -83,7 +84,7 @@ } /** - * 更新不对样品有任何操作 + * 更新只是交接单的变更,没有任何其他单位的变化 */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { @@ -94,6 +95,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 交接单新增,同时在样品委托书管理表中新增交接单记录id + */ @Override @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { @@ -111,6 +115,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 选中判断ids存在,进行其他条件的清空 + */ @Override public void exportExchange(InterchangeListRequest request, HttpServletResponse response) { try { @@ -153,7 +160,7 @@ private void populationExchange(BusinessInterchange businessInterchange) { Long maxNo = this.baseMapper.selectMaxExchangeNo(); - String orderNo = NumberGeneratorUtil.getContactNo("jjdh", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.INTER_CHANGE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessInterchange.setCreateUser(authUser.getId()); businessInterchange.setInterchangeCode(orderNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java index 585a207..955cc7a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java @@ -13,19 +13,18 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.*; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.HandOutPropertyEnum; -import com.casic.missiles.enums.MeasureStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.HandOutPropertyEnum; +import com.casic.missiles.enums.business.MeasureStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.*; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; -import com.casic.missiles.model.business.BusinessLabExecutiveInfo; -import com.casic.missiles.model.business.BusinessLabExecutiveOperateLog; -import com.casic.missiles.model.business.BusinessLabExecutiveTemplateInfo; +import com.casic.missiles.model.business.*; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; import com.casic.missiles.service.business.IBusinessLabExecutiveTemplateInfoService; @@ -71,6 +70,8 @@ private AbstractDictService dictService; @Autowired private MeterStaffMapper staffMapper; + @Autowired + private BusinessOrderMapper orderMapper; @Override public Page handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) throws Exception{ @@ -377,7 +378,9 @@ if(CollectionUtils.isEmpty(unExecutiveInfos)){ //更新样品状态为检测完 orderSampleRelationMapper.updateByOrderIdAndSampleId(pre.getOrderId(), pre.getSampleId(), SampleStatusEnum.MEASURE_COMPLETE); - // TODO: 2023/2/17 委托书中所有样品检测完更新委托书接收状态为检测完成,需求待定 + + //委托书中所有样品检测完更新委托书接收状态为检测完成,未检测完的数量为0则表示全部检完 + updateOrderStatusComplete(pre); //将检测记录加入到实验室检测模板(仅全部为检测完成的才加入到模板,包含终止的不会加入) List labList = new ArrayList<>(); @@ -407,9 +410,27 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + @Transactional + public void updateOrderStatusComplete(SampleOperateRequest pre) { + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("order_id", pre.getOrderId()); + List statusList = new ArrayList<>(); + statusList.add(SampleStatusEnum.TO_RECEIVE); + statusList.add(SampleStatusEnum.TO_HANDOUT); + statusList.add(SampleStatusEnum.IN_MEASURE); + wrapper1.in("sample_status", statusList); + //同一事务中可查到更新后的数量 + if(orderSampleRelationMapper.selectCount(wrapper1) == 0){ + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(pre.getOrderId()); + businessOrder.setStatus(OrderStatusEnum.COMPLETE); + orderMapper.updateById(businessOrder); + } + } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + String templateCode = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.LAB_EXECUTIVE_TEMPLATE_PREFIX, maxNo + i); templateInfo.setTemplateCode(templateCode); // templateInfo.setSampleTypeId(); templateInfo.setSampleId(lab.getSampleId()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index f5c6f61..1d63554 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -14,6 +14,10 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; +import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; @@ -35,7 +39,6 @@ import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -45,12 +48,12 @@ * 业务管理-委托书 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @AllArgsConstructor -public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { +public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService,PrefixCodeEnum, OrderStatusEnum,SampleStatusEnum, MeasureTypeEnum { private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; @@ -90,8 +93,10 @@ List customerSampleList = new ArrayList<>(); for (BusinessOrderSampleRelation orderSample : orderSampleList) { CustomerSampleInfo customerSampleInfo = customerSampleService.sampleDetail(orderSample.getSampleId()); - customerSampleInfo.setIsExistSample("1"); - customerSampleList.add(customerSampleInfo); + if (null != customerSampleInfo) { + customerSampleInfo.setIsExistSample("1"); + customerSampleList.add(customerSampleInfo); + } } businessOrder.setCustomerSampleInfoList(customerSampleList); return businessOrder; @@ -202,7 +207,13 @@ @Override public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); - String dealType = "委托书" + ((status.equals("2")) ? "接收" : "退回"); + String dealType = ""; + if (status.equals(ALREADY_RECEIVED)) { + dealType = "委托书接收" ; + doUpdateSampleStatus(orderCancelRequest.getId(),TO_RECEIVE); + } else { + dealType = "委托书退回"; + } int addDealRecordFlag = addDealRecord(orderCancelRequest, dealType); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -216,7 +227,7 @@ @Override @Transactional public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { - int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), ALREADY_CANCEL); int addDealRecordFlag = addDealRecord(orderCancelRequest, "委托书取消"); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -250,6 +261,7 @@ return dealRecordMapper.insert(businessDealRecord); } + /** * 强调正在做状态更新 */ @@ -280,12 +292,12 @@ private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); - String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(ORDER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); - businessOrder.setStatus("1"); + businessOrder.setStatus(NOT_RECEIVED); } /** @@ -320,10 +332,23 @@ sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); - sampleStatusPopulation.setMeasureType("1"); + sampleStatusPopulation.setMeasureType(INSIDE_MEASURE); return this.sampleRelationMapper.insert(sampleStatusPopulation); } + /** + * 强调正在做状态更新 + */ + private int doUpdateSampleStatus(Long orderId, String sampleStatus) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", orderId); + BusinessOrderSampleRelation orderSample = new BusinessOrderSampleRelation(); + orderSample.setId(orderId); + orderSample.setSampleStatus(sampleStatus); + return this.sampleRelationMapper.update(orderSample, queryWrapper); + } + + private void doSampleListPopulation(BusinessOrder businessOrder) { businessOrder.getCustomerSampleInfoList().forEach( customerSampleInfo -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java index 1e35b7a..1c602b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java @@ -131,7 +131,7 @@ @Override public ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord) { - if (this.baseMapper.insert(businessOriginalRecord) > 0) { + if (this.baseMapper.updateById(businessOriginalRecord) > 0) { //加入技术文件绑定 if (ObjectUtil.isNotEmpty(businessOriginalRecord.getFileList()) && businessOriginalRecord.getFileList().size() > 0) { originalRecordFileRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getFileList()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java index 07c88e9..c9c1902 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.date.DateUtil; import com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -14,6 +15,7 @@ import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; @@ -29,6 +31,7 @@ import org.springframework.util.ObjectUtils; import javax.servlet.http.HttpServletResponse; +import java.util.Date; import java.util.List; import java.util.Objects; import java.util.Optional; @@ -39,7 +42,7 @@ @Service @Slf4j @AllArgsConstructor -public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService { +public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService, SampleStatusEnum, CurrentSegmentEnum, MeasureTypeEnum { private final BusinessOrderSampleRelationMapper orderSampleRelationMapper; private final BusinessCertificateReportMapper certificateReportMapper; @@ -73,20 +76,20 @@ Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.TO_HANDOUT: + case TO_HANDOUT: //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 - case SampleStatusEnum.IN_MEASURE: + case IN_MEASURE: //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.MEASURE_COMPLETE: + case MEASURE_COMPLETE: doDispatchVoPopulation(dispatchVO, sampleId, orderId); return; //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 - case SampleStatusEnum.BE_OVERDUE: + case BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); @@ -126,12 +129,14 @@ /** - * 状态更新 + * 根据sampleId,orderId,进行状态更新 */ @Override + @Transactional public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { + boolean beforeEventFlag = beforeStatusChange(deviceStatusChangeDTO); Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFlag > 0) { + if (updateFlag > 0 && beforeEventFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -181,8 +186,9 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); +// queryWrapper.ne("order_id", deviceStatusChangeDTO.getOrderId()); BusinessLabExecutiveInfo businessLabExecutiveInfo = new BusinessLabExecutiveInfo(); - businessLabExecutiveInfo.setMeasureStatus(deviceStatusChangeDTO.getStatus()); +// businessLabExecutiveInfo.setMeasureStatus(); businessLabExecutiveInfo.setRemark(deviceStatusChangeDTO.getReason()); labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } @@ -214,6 +220,9 @@ return handOutLabExecutiveDTOOptional.orElse(null); } + /** + * 构建证书的查询条件 + */ private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("order_id", dispatchVO.getOrderId()); @@ -230,7 +239,8 @@ queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); if (terminateFlag) { - queryWrapper.eq("sample_status", "2").or().eq("sample_status", "3").or().eq("sample_status", "4"); + //若是终止,需要对应待分发、检测中、检测完三个状态的变更 + queryWrapper.eq("sample_status", TO_HANDOUT).or().eq("sample_status", IN_MEASURE).or().eq("sample_status", MEASURE_COMPLETE); } BusinessOrderSampleRelation businessOrderSampleRelation = new BusinessOrderSampleRelation(); businessOrderSampleRelation.setSampleStatus(statusChangeDTO.getStatus()); @@ -238,12 +248,12 @@ } /** - * 判断不是自检 + * 判断不是自检,即外包和外检,进行环节设定 */ private boolean notSelfMeasure(DeviceDispatchVO dispatchVO) { if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType())) { - if (MeasureStatusEnum.TO_ALLOCATE.equals(String.valueOf(dispatchVO.getMeasureType())) || MeasureStatusEnum.TO_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { - String currentSegment = MeasureStatusEnum.TO_ALLOCATE.equals(dispatchVO.getMeasureType()) ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; + if (OTHERS_UNDERTAKE.equals(String.valueOf(dispatchVO.getMeasureType())) || OUTSIDE_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { + String currentSegment = OTHERS_UNDERTAKE.equals(dispatchVO.getMeasureType()) ? OUT_UNDERTAKE : OUT_MESASUR; dispatchVO.setCurrentSegment(currentSegment); return true; } @@ -251,6 +261,9 @@ return false; } + /** + * 其他条件的置为空 + */ private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { request.setSampleName(null); request.setSampleNo(null); @@ -264,18 +277,38 @@ } /** - * 判断样品是完成或接收状态,直接显示即可 + * 判断样品是完成或接收状态,进行当前阶段环节的设置 */ private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { - if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + if (TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_INCOME); return true; } - if (SampleStatusEnum.TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); + if (TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_ALLOCATE); return true; } return false; } + private boolean beforeStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(TO_INCOME)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + List orderSampleRelationList = this.orderSampleRelationMapper.selectList(queryWrapper); + Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); + if (orderSampleRelationOptional.isPresent()) { + BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); + if (businessOrderSampleRelation.getSampleStatus().equals(TO_ALLOCATE)) { + BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); + businessOrderSample.setRealDeliverTime(DateUtil.format(new Date(), "yyyy-MM-dd")); + int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); + return updateFlag > 0 ? true : false; + } + } + } + return true; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java index 4f06678..e2fea21 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerAdviceMapper; import com.casic.missiles.mapper.customer.CustomerMapper; @@ -34,7 +35,7 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerAdviceServiceImpl implements CustomerAdviceService { +public class CustomerAdviceServiceImpl implements CustomerAdviceService,PrefixCodeEnum { private final CustomerAdviceMapper customerAdviceMapper; private final IBaseExportService iBaseExportService; @@ -122,7 +123,7 @@ private void initCustomerAdviceInfo(CustomerAdviceInfo customerAdviceInfo) { Long maxNo = customerAdviceMapper.selectMaxAdviceNo(); - String adviceNo = NumberGeneratorUtil.getContactNo("khjy", maxNo); + String adviceNo = NumberGeneratorUtil.getContactNo(CUSTOMER_ADVICE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerAdviceInfo.setCreateUser(authUser.getId()); customerAdviceInfo.setUpdateUser(authUser.getId()); 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 4889e55..f9747dd 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 @@ -10,18 +10,19 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.sample.CertificationExpireStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; import com.casic.missiles.mapper.customer.CustomerMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerSampleListResponseMapper; import com.casic.missiles.mapper.customer.CustomerSampleMapper; -import com.casic.missiles.mapper.customer.customize.MesureRecordsResponseMapper; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -42,13 +43,11 @@ @Service @AllArgsConstructor -public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService { +public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService, CertificationExpireStatusEnum,PrefixCodeEnum{ private final CustomerSampleListResponseMapper customerSampleListResponseMapper; private final CustomerMapper customerMapper; private final IBaseExportService iBaseExportService; - private final CertificationResponseMapper certificationResponseMapper; - private final MesureRecordsResponseMapper mesureResponseMapper; private final BusinessOrderSampleRelationMapper sampleRelationMapper; @Override @@ -58,14 +57,14 @@ customerSamplePage.getRecords() .forEach(customerSample -> { BusinessOrderSampleRelation businessOrderSampleRelation = this.getSampleStatusById(customerSample.getId()); + customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); - customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); } }); for (CustomerSampleListResponse customerSampleListResponse : customerSamplePage.getRecords()) { - if (!StringUtils.isEmpty(customerSampleListResponse.getSampleSatus())) { + if (!StringUtils.isEmpty(customerSampleListResponse.getSampleStatus())) { DictCodeUtils.convertDictCodeToName(customerSampleListResponse); } } @@ -106,14 +105,13 @@ public CustomerSampleInfo sampleDetail(Long id) { CustomerSampleInfo customerSampleInfo = this.baseMapper.selectById(id); if (!ObjectUtils.isEmpty(customerSampleInfo)) { - doCustomerSampleInfoPopulation(customerSampleInfo); + doPopulateCustomerSampleInfo(customerSampleInfo); } return customerSampleInfo; } /** * 只导出样品列表信息 - * */ @Override public void sampleExport(CustomerSampleListRequest request, HttpServletResponse response) { @@ -135,7 +133,7 @@ BusinessOrderSampleRelation businessOrderSampleRelation = businessOrderMap.get(customerSample.getId()); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); } } @@ -159,26 +157,16 @@ } @Override - public Page measureRecordsBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page measureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); + public Page measureRecordsById(CustomerSampleIdRequest customerSampleIdRequest) { + Page page = PageFactory.defaultPage(); + Page measureRecordsResponsePage = this.baseMapper.measureRecordsById(page, customerSampleIdRequest); return measureRecordsResponsePage; } - @Override - public Page certificationBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page certificateResponsePage = certificationResponseMapper.selectPage(page, wrapper); - return certificateResponsePage; - } @Override - public Page samplesByOderId(Page page,Long orderId, String sampleNo, String sampleName) { - return this.baseMapper.samplesByOderId(page,orderId,sampleNo,sampleName); + public Page samplesByOderId(Page page, Long orderId, String sampleNo, String sampleName) { + return this.baseMapper.samplesByOderId(page, orderId, sampleNo, sampleName); } private BusinessOrderSampleRelation getSampleStatusById(Long sampleId) { @@ -190,9 +178,12 @@ return orderSampleOptional.isPresent() ? orderSampleOptional.get() : null; } + /** + * 初始化样品状态 + */ private void initSample(CustomerSampleInfo customerSampleInfo) { Long maxNo = this.baseMapper.selectMaxSampleNo(); - String sampleNo = NumberGeneratorUtil.getContactNo("khyp", maxNo); + String sampleNo = NumberGeneratorUtil.getContactNo(SAMPLE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setSampleNo(sampleNo); customerSampleInfo.setCreateUser(authUser.getId()); @@ -202,7 +193,6 @@ private QueryWrapper listParamWrapper(CustomerSampleListRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.select("id,sample_no,sample_name,sample_model,manufacturing_no,customer_id,measure_period,measure_last_time,remark,valid_deadline"); queryWrapper.like(StringUtils.isNotBlank(request.getSampleNo()), "sample_no", request.getSampleNo()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleName()), "sample_name", request.getSampleName()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleBelong()), "sample_belong", request.getSampleBelong()); @@ -210,9 +200,10 @@ queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); if (!StringUtils.isEmpty(request.getOvertimeStatus())) { - queryWrapper.apply(request.getOvertimeStatus().equals("1"), + queryWrapper.apply("1".equals(request.getOvertimeStatus()), + "sysdate() > DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); - queryWrapper.apply(request.getOvertimeStatus().equals("0"), + queryWrapper.apply("0".equals(request.getOvertimeStatus()), "sysdate() <= DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); } queryWrapper.apply(StringUtils.isNotBlank(request.getStartTime()), @@ -224,24 +215,30 @@ return queryWrapper; } + /** + * 通过证书到期时间进行到期状态的计算 + */ private String calculateCertificationStatus(String validDeadline) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if (StringUtils.isEmpty(validDeadline)) { - return "0"; + return NORMAL; } - if (validDeadline.compareTo(sdf.format(new Date())) > 0) { - return "2"; + if (validDeadline.compareTo(sdf.format(new Date())) < 0) { + return ALREADY_EXPIRE; } Calendar date = Calendar.getInstance(); date.setTime(new Date()); date.add(Calendar.DAY_OF_MONTH, -30); - if (validDeadline.compareTo(sdf.format(date.getTime())) > 0) { - return "1"; + if (validDeadline.compareTo(sdf.format(date.getTime())) < 0) { + return ALMOST_EXPIRE; } - return "0"; + return NORMAL; } - private void doCustomerSampleInfoPopulation(CustomerSampleInfo customerSampleInfo) { + /** + * 对样品列表的进行供应商联系方式的填充 + */ + private void doPopulateCustomerSampleInfo(CustomerSampleInfo customerSampleInfo) { CustomerInfo customerInfo = customerMapper.selectById(customerSampleInfo.getCustomerId()); if (!ObjectUtils.isEmpty(customerInfo)) { customerSampleInfo.setPhone(customerInfo.getPhone()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java index 32d4dee..f6e1f8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java @@ -11,13 +11,12 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerMapper; import com.casic.missiles.mapper.customer.CustomerUserMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerInfoResponseMapper; import com.casic.missiles.mapper.customer.customize.SampleRecordsResponseMapper; import com.casic.missiles.model.customer.CustomerInfo; @@ -38,11 +37,10 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerServiceImpl extends ServiceImpl implements CustomerService { +public class CustomerServiceImpl extends ServiceImpl implements CustomerService,PrefixCodeEnum { private final SampleRecordsResponseMapper sampleRecordsResponseMapper; private final CustomerUserMapper customerUserMapper; - private final CertificationResponseMapper certificationMapper; private final IBaseExportService iBaseExportService; private final CustomerInfoResponseMapper customerInfoResponseMapper; @@ -126,18 +124,9 @@ return contractRecordsResponsePage; } - @Override//暂定不做 - public Page mesureRecordsByCustomerId(Long customerId) { - Page measureRecordsResponsePage = PageFactory.defaultPage(); - return measureRecordsResponsePage; - } - @Override public Page certificationByCustomerId(Long customerId) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("customer_id", customerId); - return certificationMapper.selectPage(page, wrapper); + return null; } @Override @@ -163,8 +152,7 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); - queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "bussiness_size", request.getBusinessSize()); - queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); + queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "business_size", request.getBusinessSize()); queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); queryWrapper.eq("is_del", 0); return queryWrapper; @@ -172,7 +160,7 @@ private void initCustomerInfo(CustomerInfo customerInfo) { Long maxNo = this.baseMapper.selectMaxCustomerNo(); - String customerNo = NumberGeneratorUtil.getContactNo("khxx", maxNo); + String customerNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CUSTOMER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerInfo.setCreateUser(authUser.getId()); customerInfo.setUpdateUser(authUser.getId()); @@ -196,7 +184,7 @@ boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { customerUserInfo.setCustomerId(id); - String customerNo = NumberGeneratorUtil.getContactNo("khyh", maxUserNo++); + String customerNo = NumberGeneratorUtil.getContactNo(CUSTOMER_USER_PREFIX, maxUserNo++); customerUserInfo.setUserNo(customerNo); int userAddNum = customerUserMapper.insert(customerUserInfo); if (userAddNum <= 0) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java index d81a488..77e4caf 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java @@ -13,9 +13,10 @@ import com.casic.missiles.dto.equipment.AcceptanceCheckRequest; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentAcceptanceCheckMapper; @@ -183,7 +184,7 @@ public ReturnDTO addAcceptanceCheck(EquipmentApply equipmentApply) { Long maxNo = equipmentApplyMapper.selectMaxNo(); // 生成编号 - String applyNo = NumberGeneratorUtil.getContactNo("sbjxbyysd", maxNo); + String applyNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.REPAIR_MAINTAIN_PREFIX, maxNo); equipmentApply.setApplyNo(applyNo); // 草稿箱状态 equipmentApply.setApprovalStatus(ApprovalStatusEnum.DRAFT); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java index 38ad4e9..d468012 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java @@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.base.service.IBaseExportService; -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.IdDTO; @@ -20,6 +19,9 @@ import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java index 7c4fdbc..e6a1ff8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.equipment.CheckInfoRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoFileMapper; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoMapper; @@ -79,7 +80,7 @@ @Transactional public ReturnDTO addCheckInfo(EquipmentCheckInfo equipmentCheckInfo) { long maxNo = equipmentCheckInfoMapper.selectMaxNo(); - String checkNo = NumberGeneratorUtil.getContactNo("jc", maxNo); + String checkNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CHECK_PREFIX, maxNo); equipmentCheckInfo.setCheckNo(checkNo); if(equipmentCheckInfoMapper.insert(equipmentCheckInfo) > 0){ Long id = equipmentCheckInfo.getId(); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java index ba6a600..7ff9c16 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.equipment; -import cn.hutool.core.io.unit.DataUnit; import com.alibaba.excel.util.DateUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -13,7 +12,8 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.FixedAssetRequest; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentFixedAssetFileMapper; @@ -131,7 +131,7 @@ validManufacturingNo(meterFixedAssets); //生成资产编号 Long maxNo = meterFixedAssetsMapper.selectMaxNo(); - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); meterFixedAssets.setAssetNo(asset_no); meterFixedAssets.setEquipmentNo(asset_no); meterFixedAssetsMapper.insert(meterFixedAssets); @@ -164,7 +164,7 @@ //需要根据出厂编号判重 validManufacturingNo(item); //生成资产编号 - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); item.setAssetNo(asset_no); item.setEquipmentNo(asset_no); maxNo++; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java index 3e63a5a..2b29aa7 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java @@ -18,6 +18,8 @@ import com.casic.missiles.dto.equipment.StandardEquipmentApplyRequest; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.StandardApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java index caa63a7..afa6905 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java @@ -10,9 +10,9 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.StandardEquipmentRequest; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentFileMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentMapper; -import com.casic.missiles.model.equipment.EquipmentApply; import com.casic.missiles.model.equipment.EquipmentStandardEquipment; import com.casic.missiles.model.equipment.EquipmentStandardEquipmentFile; import com.casic.missiles.model.page.PageQuery; @@ -74,7 +74,7 @@ public ReturnDTO add(EquipmentStandardEquipment meterStandardEquipment) { //生成资产编号 Long maxNo = meterStandardEquipmentMapper.selectMaxNo(); - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); meterStandardEquipment.setStandardNo(standard_no); meterStandardEquipmentMapper.insert(meterStandardEquipment); // 插入文件列表 @@ -129,7 +129,7 @@ } DictCodeUtils.validDictCode(item); //生成资产编号 - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); item.setStandardNo(standard_no); maxNo++; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java index 481cf64..b749b2e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java @@ -2,7 +2,6 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.dto.IdDTO; @@ -12,7 +11,7 @@ import com.casic.missiles.dto.equipment.StateManageResponse; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java index 5dd6f8e..e566e01 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.EquipmentWorkbenchResponse; -import com.casic.missiles.enums.ApplyFromIdEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java index f3b9c4f..485287a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java @@ -6,7 +6,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.system.dao.DeptMapper; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java new file mode 100644 index 0000000..e196dda --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Builder; +import lombok.Data; + +/** + * @author cz + */ +@Data +@Builder +public class NotifyEventStatusDTO { + + /** + * 业务表主键 + */ + private String id; + /** + * 业务表状态 + */ + private String status; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java index 65c19e3..0f3e84f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java @@ -74,7 +74,7 @@ /** * 部门/科室/工程组名称 */ - @ExcelProperty("组织编号") + @ExcelProperty("组织名称") @ApiModelProperty(value = "计量组织名称", dataType = "String", required = true) @NotBlank(message = "计量组织名称不能为空") @TableField("organize_name") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java index 54dc5cd..244e431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java @@ -84,7 +84,7 @@ * 签名用户id(一个用户一个签名,签名不使用关联表,签章暂时使用和使用人的关联表) */ @TableField("sign_user_id") - private String signUserId; + private Long signUserId; /** * 签章或签名-字典code diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java index ca20ca4..0e94b9e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 2f97cb3..fdc4bf0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -3,7 +3,6 @@ import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -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; @@ -17,9 +16,10 @@ import com.casic.missiles.dto.flowable.ApprovalAgreeRequest; import com.casic.missiles.dto.flowable.ApprovalRefuseRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -42,10 +42,9 @@ */ @Service @AllArgsConstructor -public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { +public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService, CertificatePrintStatusEnum { private final IBaseApprovalService baseApprovalService; - private final AbstractDictService dictService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; @@ -86,7 +85,7 @@ } /** - * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 * * @return */ @@ -103,7 +102,7 @@ BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); //设置为不能打印 - certificateReport.setPrintStatus("2"); + certificateReport.setPrintStatus(NON_PRINTABLE); certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { @@ -113,7 +112,7 @@ } /** - * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 */ @Transactional @Override @@ -128,7 +127,7 @@ //审批状态为审批中 certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //打印状态审批中 - certificateReport.setPrintStatus("3"); + certificateReport.setPrintStatus(IN_APPROVAL); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -142,7 +141,7 @@ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)&&CollectionUtils.isEmpty(request.getIds())) { - handlerBeApproved(approvalList, page, request); + approvalList=handlerBeApproved(approvalList, page, request); }else { approvalList=this.baseMapper.selectBatchForApprovalList(page, request, null); } 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 d03ab22..164c53a 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,17 +7,22 @@ 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.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; -import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +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.MonitorCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -26,9 +31,9 @@ import com.casic.missiles.service.business.IBusinessCertificateReportService; import com.casic.missiles.service.business.IBusinessOriginalRecordService; import com.casic.missiles.service.flowable.ApprovalOperateService; -import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; +import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.runtime.ProcessInstance; @@ -68,8 +73,10 @@ private RuntimeService runtimeService; @Resource private IBaseExportService iBaseExportService; + /** * 保存证书报告信息 + * * @param certificateReport * @return */ @@ -77,7 +84,7 @@ public ReturnDTO saveCertificateReport(BusinessCertificateReport certificateReport) { initCertificateReport(certificateReport); - if(this.baseMapper.insert(certificateReport)>0) + if (this.baseMapper.insert(certificateReport) > 0) return ReturnUtil.success(); throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -90,9 +97,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //删除数据库记录 - if(this.baseMapper.deleteById(request.getId()) > 0){ + if (this.baseMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -101,7 +108,7 @@ @Override public ReturnDTO draftUpdate(BusinessCertificateReport certificateReport) { - if(this.baseMapper.updateById(certificateReport)>0){ + if (this.baseMapper.updateById(certificateReport) > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -109,25 +116,27 @@ /** * 批量删除 + * * @param ids * @return */ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - return baseMapper.deleteBatchIds(ids) > 0?ReturnUtil.success(): + return baseMapper.deleteBatchIds(ids) > 0 ? ReturnUtil.success() : ReturnUtil.failed("删除失败"); } /** * 证书报告详情 + * * @param id * @return */ @Override public BusinessCertificateReport certificateReportDetail(Long id) { BusinessCertificateReport certificateReport = this.baseMapper.selectById(id); - if(certificateReport.getOriginalRecordId()!=null){ + if (certificateReport.getOriginalRecordId() != null) { try { certificateReport.setBusinessOriginalRecord(originalRecordService.originalDetail(certificateReport.getOriginalRecordId())); } catch (Exception e) { @@ -139,6 +148,7 @@ /** * 提交证书报告 + * * @param request * @return */ @@ -148,10 +158,10 @@ String formId = request.getFormId(); //2.根据流程定义id启动流程实例 ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); certificateReport.setApprovalStatus(ApprovalStatusEnum.UN_DRAFT); //非草稿状态 @@ -165,6 +175,7 @@ /** * 审批状态列表查询 + * * @param page * @param request * @return @@ -182,6 +193,7 @@ /** * 驳回后更新 + * * @param certificateReport * @return */ @@ -208,13 +220,14 @@ @Override public void originExport(CertificateReportApprovalRequest request, HttpServletResponse response) { try { - //toDo: -// List certificateReportResponses = this.certificateReport(request); -// for (OriginRecordResponse originRecordResponse : originExportList) { -// //字典值转换 -// DictCodeUtils.convertDictCodeToName(originRecordResponse); -// } -// iBaseExportService.exportExcel(response, CertificateReportResponse.class, originExportList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); + //登录用户 + AuthUser user = ShiroKit.getUser(); + Assert.isFalse(Objects.isNull(user), () -> { + throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); + }); + request.setCreateUserId(user.getId()); + List reportResponseList = handleApprovalStatus(null, request); + iBaseExportService.exportExcel(response, CertificateReportResponse.class, reportResponseList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); } catch (Exception e) { log.error("证书报告导出出现异常,异常信息为{}", e); } @@ -231,15 +244,15 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -251,27 +264,27 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ - approvalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); + if (!CollectionUtils.isEmpty(businessKeys)) { + approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ - rejectApprovalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { + rejectApprovalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -279,7 +292,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.CANCELED); } break; @@ -288,10 +301,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleAllApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), AllApproveList); } break; @@ -299,9 +312,26 @@ return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List allApproveList) { - Map taskMap = new HashMap<>(); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + /** + * 客户、样品详情列表 + */ + @Override + public Page certificateRecordsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception { + Page page = PageFactory.defaultPage(); + Page certificateResponsePage = this.baseMapper.certificateRecordsById(page, customerSampleIdRequest); + for (CertificationResponse customerSampleListResponse : certificateResponsePage.getRecords()) { + if (!StringUtils.isEmpty(customerSampleListResponse.getCertificationClass())) { + DictCodeUtils.convertDictMultiCodeToName(customerSampleListResponse); + } + } + return certificateResponsePage; + } + + private List handleAllApprovalListResponse(List approvalList, List allApproveList) { + Map taskMap = new HashMap<>(); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -313,7 +343,7 @@ return approvalList.stream().sorted(Comparator.comparing(CertificateReportResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, String status){ + private List handleApprovalListResponse(List approvalList, String status) { approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); @@ -324,14 +354,14 @@ private void initCertificateReport(BusinessCertificateReport certificateReport) { String prefix = MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue() - +DateUtil.format(new Date(),"YYYYMM"); + + DateUtil.format(new Date(), "YYYYMM"); Long maxNo = this.baseMapper.selectMaxCode(prefix); //生成证书编号 - String certificateReportNo =NumberGeneratorUtil.getCode( - MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(),maxNo); + String certificateReportNo = NumberGeneratorUtil.getCode( + MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(), maxNo); AuthUser authUser = ShiroKit.getUser(); certificateReport.setCreateUser(authUser.getId()); - certificateReport.setMeasurePersonId(authUser.getId()+""); + certificateReport.setMeasurePersonId(authUser.getId() + ""); certificateReport.setMeasureDeptId(authUser.getDeptId()); certificateReport.setCertificateReportCode(certificateReportNo); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index c4ed5f6..5456773 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -12,13 +12,12 @@ import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; import com.casic.missiles.mapper.business.EnvironmentListResponseMapper; import com.casic.missiles.model.business.BusinessEnvironmentRecord; -import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 859010b..0d847a0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessInterchangeMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; @@ -35,7 +36,7 @@ * 业务管理-设备交接单 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @@ -83,7 +84,7 @@ } /** - * 更新不对样品有任何操作 + * 更新只是交接单的变更,没有任何其他单位的变化 */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { @@ -94,6 +95,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 交接单新增,同时在样品委托书管理表中新增交接单记录id + */ @Override @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { @@ -111,6 +115,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 选中判断ids存在,进行其他条件的清空 + */ @Override public void exportExchange(InterchangeListRequest request, HttpServletResponse response) { try { @@ -153,7 +160,7 @@ private void populationExchange(BusinessInterchange businessInterchange) { Long maxNo = this.baseMapper.selectMaxExchangeNo(); - String orderNo = NumberGeneratorUtil.getContactNo("jjdh", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.INTER_CHANGE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessInterchange.setCreateUser(authUser.getId()); businessInterchange.setInterchangeCode(orderNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java index 585a207..955cc7a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java @@ -13,19 +13,18 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.*; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.HandOutPropertyEnum; -import com.casic.missiles.enums.MeasureStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.HandOutPropertyEnum; +import com.casic.missiles.enums.business.MeasureStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.*; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; -import com.casic.missiles.model.business.BusinessLabExecutiveInfo; -import com.casic.missiles.model.business.BusinessLabExecutiveOperateLog; -import com.casic.missiles.model.business.BusinessLabExecutiveTemplateInfo; +import com.casic.missiles.model.business.*; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; import com.casic.missiles.service.business.IBusinessLabExecutiveTemplateInfoService; @@ -71,6 +70,8 @@ private AbstractDictService dictService; @Autowired private MeterStaffMapper staffMapper; + @Autowired + private BusinessOrderMapper orderMapper; @Override public Page handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) throws Exception{ @@ -377,7 +378,9 @@ if(CollectionUtils.isEmpty(unExecutiveInfos)){ //更新样品状态为检测完 orderSampleRelationMapper.updateByOrderIdAndSampleId(pre.getOrderId(), pre.getSampleId(), SampleStatusEnum.MEASURE_COMPLETE); - // TODO: 2023/2/17 委托书中所有样品检测完更新委托书接收状态为检测完成,需求待定 + + //委托书中所有样品检测完更新委托书接收状态为检测完成,未检测完的数量为0则表示全部检完 + updateOrderStatusComplete(pre); //将检测记录加入到实验室检测模板(仅全部为检测完成的才加入到模板,包含终止的不会加入) List labList = new ArrayList<>(); @@ -407,9 +410,27 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + @Transactional + public void updateOrderStatusComplete(SampleOperateRequest pre) { + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("order_id", pre.getOrderId()); + List statusList = new ArrayList<>(); + statusList.add(SampleStatusEnum.TO_RECEIVE); + statusList.add(SampleStatusEnum.TO_HANDOUT); + statusList.add(SampleStatusEnum.IN_MEASURE); + wrapper1.in("sample_status", statusList); + //同一事务中可查到更新后的数量 + if(orderSampleRelationMapper.selectCount(wrapper1) == 0){ + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(pre.getOrderId()); + businessOrder.setStatus(OrderStatusEnum.COMPLETE); + orderMapper.updateById(businessOrder); + } + } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + String templateCode = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.LAB_EXECUTIVE_TEMPLATE_PREFIX, maxNo + i); templateInfo.setTemplateCode(templateCode); // templateInfo.setSampleTypeId(); templateInfo.setSampleId(lab.getSampleId()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index f5c6f61..1d63554 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -14,6 +14,10 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; +import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; @@ -35,7 +39,6 @@ import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -45,12 +48,12 @@ * 业务管理-委托书 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @AllArgsConstructor -public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { +public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService,PrefixCodeEnum, OrderStatusEnum,SampleStatusEnum, MeasureTypeEnum { private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; @@ -90,8 +93,10 @@ List customerSampleList = new ArrayList<>(); for (BusinessOrderSampleRelation orderSample : orderSampleList) { CustomerSampleInfo customerSampleInfo = customerSampleService.sampleDetail(orderSample.getSampleId()); - customerSampleInfo.setIsExistSample("1"); - customerSampleList.add(customerSampleInfo); + if (null != customerSampleInfo) { + customerSampleInfo.setIsExistSample("1"); + customerSampleList.add(customerSampleInfo); + } } businessOrder.setCustomerSampleInfoList(customerSampleList); return businessOrder; @@ -202,7 +207,13 @@ @Override public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); - String dealType = "委托书" + ((status.equals("2")) ? "接收" : "退回"); + String dealType = ""; + if (status.equals(ALREADY_RECEIVED)) { + dealType = "委托书接收" ; + doUpdateSampleStatus(orderCancelRequest.getId(),TO_RECEIVE); + } else { + dealType = "委托书退回"; + } int addDealRecordFlag = addDealRecord(orderCancelRequest, dealType); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -216,7 +227,7 @@ @Override @Transactional public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { - int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), ALREADY_CANCEL); int addDealRecordFlag = addDealRecord(orderCancelRequest, "委托书取消"); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -250,6 +261,7 @@ return dealRecordMapper.insert(businessDealRecord); } + /** * 强调正在做状态更新 */ @@ -280,12 +292,12 @@ private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); - String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(ORDER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); - businessOrder.setStatus("1"); + businessOrder.setStatus(NOT_RECEIVED); } /** @@ -320,10 +332,23 @@ sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); - sampleStatusPopulation.setMeasureType("1"); + sampleStatusPopulation.setMeasureType(INSIDE_MEASURE); return this.sampleRelationMapper.insert(sampleStatusPopulation); } + /** + * 强调正在做状态更新 + */ + private int doUpdateSampleStatus(Long orderId, String sampleStatus) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", orderId); + BusinessOrderSampleRelation orderSample = new BusinessOrderSampleRelation(); + orderSample.setId(orderId); + orderSample.setSampleStatus(sampleStatus); + return this.sampleRelationMapper.update(orderSample, queryWrapper); + } + + private void doSampleListPopulation(BusinessOrder businessOrder) { businessOrder.getCustomerSampleInfoList().forEach( customerSampleInfo -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java index 1e35b7a..1c602b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java @@ -131,7 +131,7 @@ @Override public ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord) { - if (this.baseMapper.insert(businessOriginalRecord) > 0) { + if (this.baseMapper.updateById(businessOriginalRecord) > 0) { //加入技术文件绑定 if (ObjectUtil.isNotEmpty(businessOriginalRecord.getFileList()) && businessOriginalRecord.getFileList().size() > 0) { originalRecordFileRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getFileList()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java index 07c88e9..c9c1902 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.date.DateUtil; import com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -14,6 +15,7 @@ import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; @@ -29,6 +31,7 @@ import org.springframework.util.ObjectUtils; import javax.servlet.http.HttpServletResponse; +import java.util.Date; import java.util.List; import java.util.Objects; import java.util.Optional; @@ -39,7 +42,7 @@ @Service @Slf4j @AllArgsConstructor -public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService { +public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService, SampleStatusEnum, CurrentSegmentEnum, MeasureTypeEnum { private final BusinessOrderSampleRelationMapper orderSampleRelationMapper; private final BusinessCertificateReportMapper certificateReportMapper; @@ -73,20 +76,20 @@ Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.TO_HANDOUT: + case TO_HANDOUT: //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 - case SampleStatusEnum.IN_MEASURE: + case IN_MEASURE: //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.MEASURE_COMPLETE: + case MEASURE_COMPLETE: doDispatchVoPopulation(dispatchVO, sampleId, orderId); return; //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 - case SampleStatusEnum.BE_OVERDUE: + case BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); @@ -126,12 +129,14 @@ /** - * 状态更新 + * 根据sampleId,orderId,进行状态更新 */ @Override + @Transactional public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { + boolean beforeEventFlag = beforeStatusChange(deviceStatusChangeDTO); Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFlag > 0) { + if (updateFlag > 0 && beforeEventFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -181,8 +186,9 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); +// queryWrapper.ne("order_id", deviceStatusChangeDTO.getOrderId()); BusinessLabExecutiveInfo businessLabExecutiveInfo = new BusinessLabExecutiveInfo(); - businessLabExecutiveInfo.setMeasureStatus(deviceStatusChangeDTO.getStatus()); +// businessLabExecutiveInfo.setMeasureStatus(); businessLabExecutiveInfo.setRemark(deviceStatusChangeDTO.getReason()); labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } @@ -214,6 +220,9 @@ return handOutLabExecutiveDTOOptional.orElse(null); } + /** + * 构建证书的查询条件 + */ private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("order_id", dispatchVO.getOrderId()); @@ -230,7 +239,8 @@ queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); if (terminateFlag) { - queryWrapper.eq("sample_status", "2").or().eq("sample_status", "3").or().eq("sample_status", "4"); + //若是终止,需要对应待分发、检测中、检测完三个状态的变更 + queryWrapper.eq("sample_status", TO_HANDOUT).or().eq("sample_status", IN_MEASURE).or().eq("sample_status", MEASURE_COMPLETE); } BusinessOrderSampleRelation businessOrderSampleRelation = new BusinessOrderSampleRelation(); businessOrderSampleRelation.setSampleStatus(statusChangeDTO.getStatus()); @@ -238,12 +248,12 @@ } /** - * 判断不是自检 + * 判断不是自检,即外包和外检,进行环节设定 */ private boolean notSelfMeasure(DeviceDispatchVO dispatchVO) { if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType())) { - if (MeasureStatusEnum.TO_ALLOCATE.equals(String.valueOf(dispatchVO.getMeasureType())) || MeasureStatusEnum.TO_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { - String currentSegment = MeasureStatusEnum.TO_ALLOCATE.equals(dispatchVO.getMeasureType()) ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; + if (OTHERS_UNDERTAKE.equals(String.valueOf(dispatchVO.getMeasureType())) || OUTSIDE_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { + String currentSegment = OTHERS_UNDERTAKE.equals(dispatchVO.getMeasureType()) ? OUT_UNDERTAKE : OUT_MESASUR; dispatchVO.setCurrentSegment(currentSegment); return true; } @@ -251,6 +261,9 @@ return false; } + /** + * 其他条件的置为空 + */ private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { request.setSampleName(null); request.setSampleNo(null); @@ -264,18 +277,38 @@ } /** - * 判断样品是完成或接收状态,直接显示即可 + * 判断样品是完成或接收状态,进行当前阶段环节的设置 */ private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { - if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + if (TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_INCOME); return true; } - if (SampleStatusEnum.TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); + if (TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_ALLOCATE); return true; } return false; } + private boolean beforeStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(TO_INCOME)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + List orderSampleRelationList = this.orderSampleRelationMapper.selectList(queryWrapper); + Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); + if (orderSampleRelationOptional.isPresent()) { + BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); + if (businessOrderSampleRelation.getSampleStatus().equals(TO_ALLOCATE)) { + BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); + businessOrderSample.setRealDeliverTime(DateUtil.format(new Date(), "yyyy-MM-dd")); + int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); + return updateFlag > 0 ? true : false; + } + } + } + return true; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java index 4f06678..e2fea21 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerAdviceMapper; import com.casic.missiles.mapper.customer.CustomerMapper; @@ -34,7 +35,7 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerAdviceServiceImpl implements CustomerAdviceService { +public class CustomerAdviceServiceImpl implements CustomerAdviceService,PrefixCodeEnum { private final CustomerAdviceMapper customerAdviceMapper; private final IBaseExportService iBaseExportService; @@ -122,7 +123,7 @@ private void initCustomerAdviceInfo(CustomerAdviceInfo customerAdviceInfo) { Long maxNo = customerAdviceMapper.selectMaxAdviceNo(); - String adviceNo = NumberGeneratorUtil.getContactNo("khjy", maxNo); + String adviceNo = NumberGeneratorUtil.getContactNo(CUSTOMER_ADVICE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerAdviceInfo.setCreateUser(authUser.getId()); customerAdviceInfo.setUpdateUser(authUser.getId()); 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 4889e55..f9747dd 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 @@ -10,18 +10,19 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.sample.CertificationExpireStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; import com.casic.missiles.mapper.customer.CustomerMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerSampleListResponseMapper; import com.casic.missiles.mapper.customer.CustomerSampleMapper; -import com.casic.missiles.mapper.customer.customize.MesureRecordsResponseMapper; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -42,13 +43,11 @@ @Service @AllArgsConstructor -public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService { +public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService, CertificationExpireStatusEnum,PrefixCodeEnum{ private final CustomerSampleListResponseMapper customerSampleListResponseMapper; private final CustomerMapper customerMapper; private final IBaseExportService iBaseExportService; - private final CertificationResponseMapper certificationResponseMapper; - private final MesureRecordsResponseMapper mesureResponseMapper; private final BusinessOrderSampleRelationMapper sampleRelationMapper; @Override @@ -58,14 +57,14 @@ customerSamplePage.getRecords() .forEach(customerSample -> { BusinessOrderSampleRelation businessOrderSampleRelation = this.getSampleStatusById(customerSample.getId()); + customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); - customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); } }); for (CustomerSampleListResponse customerSampleListResponse : customerSamplePage.getRecords()) { - if (!StringUtils.isEmpty(customerSampleListResponse.getSampleSatus())) { + if (!StringUtils.isEmpty(customerSampleListResponse.getSampleStatus())) { DictCodeUtils.convertDictCodeToName(customerSampleListResponse); } } @@ -106,14 +105,13 @@ public CustomerSampleInfo sampleDetail(Long id) { CustomerSampleInfo customerSampleInfo = this.baseMapper.selectById(id); if (!ObjectUtils.isEmpty(customerSampleInfo)) { - doCustomerSampleInfoPopulation(customerSampleInfo); + doPopulateCustomerSampleInfo(customerSampleInfo); } return customerSampleInfo; } /** * 只导出样品列表信息 - * */ @Override public void sampleExport(CustomerSampleListRequest request, HttpServletResponse response) { @@ -135,7 +133,7 @@ BusinessOrderSampleRelation businessOrderSampleRelation = businessOrderMap.get(customerSample.getId()); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); } } @@ -159,26 +157,16 @@ } @Override - public Page measureRecordsBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page measureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); + public Page measureRecordsById(CustomerSampleIdRequest customerSampleIdRequest) { + Page page = PageFactory.defaultPage(); + Page measureRecordsResponsePage = this.baseMapper.measureRecordsById(page, customerSampleIdRequest); return measureRecordsResponsePage; } - @Override - public Page certificationBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page certificateResponsePage = certificationResponseMapper.selectPage(page, wrapper); - return certificateResponsePage; - } @Override - public Page samplesByOderId(Page page,Long orderId, String sampleNo, String sampleName) { - return this.baseMapper.samplesByOderId(page,orderId,sampleNo,sampleName); + public Page samplesByOderId(Page page, Long orderId, String sampleNo, String sampleName) { + return this.baseMapper.samplesByOderId(page, orderId, sampleNo, sampleName); } private BusinessOrderSampleRelation getSampleStatusById(Long sampleId) { @@ -190,9 +178,12 @@ return orderSampleOptional.isPresent() ? orderSampleOptional.get() : null; } + /** + * 初始化样品状态 + */ private void initSample(CustomerSampleInfo customerSampleInfo) { Long maxNo = this.baseMapper.selectMaxSampleNo(); - String sampleNo = NumberGeneratorUtil.getContactNo("khyp", maxNo); + String sampleNo = NumberGeneratorUtil.getContactNo(SAMPLE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setSampleNo(sampleNo); customerSampleInfo.setCreateUser(authUser.getId()); @@ -202,7 +193,6 @@ private QueryWrapper listParamWrapper(CustomerSampleListRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.select("id,sample_no,sample_name,sample_model,manufacturing_no,customer_id,measure_period,measure_last_time,remark,valid_deadline"); queryWrapper.like(StringUtils.isNotBlank(request.getSampleNo()), "sample_no", request.getSampleNo()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleName()), "sample_name", request.getSampleName()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleBelong()), "sample_belong", request.getSampleBelong()); @@ -210,9 +200,10 @@ queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); if (!StringUtils.isEmpty(request.getOvertimeStatus())) { - queryWrapper.apply(request.getOvertimeStatus().equals("1"), + queryWrapper.apply("1".equals(request.getOvertimeStatus()), + "sysdate() > DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); - queryWrapper.apply(request.getOvertimeStatus().equals("0"), + queryWrapper.apply("0".equals(request.getOvertimeStatus()), "sysdate() <= DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); } queryWrapper.apply(StringUtils.isNotBlank(request.getStartTime()), @@ -224,24 +215,30 @@ return queryWrapper; } + /** + * 通过证书到期时间进行到期状态的计算 + */ private String calculateCertificationStatus(String validDeadline) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if (StringUtils.isEmpty(validDeadline)) { - return "0"; + return NORMAL; } - if (validDeadline.compareTo(sdf.format(new Date())) > 0) { - return "2"; + if (validDeadline.compareTo(sdf.format(new Date())) < 0) { + return ALREADY_EXPIRE; } Calendar date = Calendar.getInstance(); date.setTime(new Date()); date.add(Calendar.DAY_OF_MONTH, -30); - if (validDeadline.compareTo(sdf.format(date.getTime())) > 0) { - return "1"; + if (validDeadline.compareTo(sdf.format(date.getTime())) < 0) { + return ALMOST_EXPIRE; } - return "0"; + return NORMAL; } - private void doCustomerSampleInfoPopulation(CustomerSampleInfo customerSampleInfo) { + /** + * 对样品列表的进行供应商联系方式的填充 + */ + private void doPopulateCustomerSampleInfo(CustomerSampleInfo customerSampleInfo) { CustomerInfo customerInfo = customerMapper.selectById(customerSampleInfo.getCustomerId()); if (!ObjectUtils.isEmpty(customerInfo)) { customerSampleInfo.setPhone(customerInfo.getPhone()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java index 32d4dee..f6e1f8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java @@ -11,13 +11,12 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerMapper; import com.casic.missiles.mapper.customer.CustomerUserMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerInfoResponseMapper; import com.casic.missiles.mapper.customer.customize.SampleRecordsResponseMapper; import com.casic.missiles.model.customer.CustomerInfo; @@ -38,11 +37,10 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerServiceImpl extends ServiceImpl implements CustomerService { +public class CustomerServiceImpl extends ServiceImpl implements CustomerService,PrefixCodeEnum { private final SampleRecordsResponseMapper sampleRecordsResponseMapper; private final CustomerUserMapper customerUserMapper; - private final CertificationResponseMapper certificationMapper; private final IBaseExportService iBaseExportService; private final CustomerInfoResponseMapper customerInfoResponseMapper; @@ -126,18 +124,9 @@ return contractRecordsResponsePage; } - @Override//暂定不做 - public Page mesureRecordsByCustomerId(Long customerId) { - Page measureRecordsResponsePage = PageFactory.defaultPage(); - return measureRecordsResponsePage; - } - @Override public Page certificationByCustomerId(Long customerId) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("customer_id", customerId); - return certificationMapper.selectPage(page, wrapper); + return null; } @Override @@ -163,8 +152,7 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); - queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "bussiness_size", request.getBusinessSize()); - queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); + queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "business_size", request.getBusinessSize()); queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); queryWrapper.eq("is_del", 0); return queryWrapper; @@ -172,7 +160,7 @@ private void initCustomerInfo(CustomerInfo customerInfo) { Long maxNo = this.baseMapper.selectMaxCustomerNo(); - String customerNo = NumberGeneratorUtil.getContactNo("khxx", maxNo); + String customerNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CUSTOMER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerInfo.setCreateUser(authUser.getId()); customerInfo.setUpdateUser(authUser.getId()); @@ -196,7 +184,7 @@ boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { customerUserInfo.setCustomerId(id); - String customerNo = NumberGeneratorUtil.getContactNo("khyh", maxUserNo++); + String customerNo = NumberGeneratorUtil.getContactNo(CUSTOMER_USER_PREFIX, maxUserNo++); customerUserInfo.setUserNo(customerNo); int userAddNum = customerUserMapper.insert(customerUserInfo); if (userAddNum <= 0) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java index d81a488..77e4caf 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java @@ -13,9 +13,10 @@ import com.casic.missiles.dto.equipment.AcceptanceCheckRequest; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentAcceptanceCheckMapper; @@ -183,7 +184,7 @@ public ReturnDTO addAcceptanceCheck(EquipmentApply equipmentApply) { Long maxNo = equipmentApplyMapper.selectMaxNo(); // 生成编号 - String applyNo = NumberGeneratorUtil.getContactNo("sbjxbyysd", maxNo); + String applyNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.REPAIR_MAINTAIN_PREFIX, maxNo); equipmentApply.setApplyNo(applyNo); // 草稿箱状态 equipmentApply.setApprovalStatus(ApprovalStatusEnum.DRAFT); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java index 38ad4e9..d468012 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java @@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.base.service.IBaseExportService; -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.IdDTO; @@ -20,6 +19,9 @@ import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java index 7c4fdbc..e6a1ff8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.equipment.CheckInfoRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoFileMapper; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoMapper; @@ -79,7 +80,7 @@ @Transactional public ReturnDTO addCheckInfo(EquipmentCheckInfo equipmentCheckInfo) { long maxNo = equipmentCheckInfoMapper.selectMaxNo(); - String checkNo = NumberGeneratorUtil.getContactNo("jc", maxNo); + String checkNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CHECK_PREFIX, maxNo); equipmentCheckInfo.setCheckNo(checkNo); if(equipmentCheckInfoMapper.insert(equipmentCheckInfo) > 0){ Long id = equipmentCheckInfo.getId(); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java index ba6a600..7ff9c16 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.equipment; -import cn.hutool.core.io.unit.DataUnit; import com.alibaba.excel.util.DateUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -13,7 +12,8 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.FixedAssetRequest; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentFixedAssetFileMapper; @@ -131,7 +131,7 @@ validManufacturingNo(meterFixedAssets); //生成资产编号 Long maxNo = meterFixedAssetsMapper.selectMaxNo(); - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); meterFixedAssets.setAssetNo(asset_no); meterFixedAssets.setEquipmentNo(asset_no); meterFixedAssetsMapper.insert(meterFixedAssets); @@ -164,7 +164,7 @@ //需要根据出厂编号判重 validManufacturingNo(item); //生成资产编号 - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); item.setAssetNo(asset_no); item.setEquipmentNo(asset_no); maxNo++; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java index 3e63a5a..2b29aa7 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java @@ -18,6 +18,8 @@ import com.casic.missiles.dto.equipment.StandardEquipmentApplyRequest; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.StandardApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java index caa63a7..afa6905 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java @@ -10,9 +10,9 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.StandardEquipmentRequest; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentFileMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentMapper; -import com.casic.missiles.model.equipment.EquipmentApply; import com.casic.missiles.model.equipment.EquipmentStandardEquipment; import com.casic.missiles.model.equipment.EquipmentStandardEquipmentFile; import com.casic.missiles.model.page.PageQuery; @@ -74,7 +74,7 @@ public ReturnDTO add(EquipmentStandardEquipment meterStandardEquipment) { //生成资产编号 Long maxNo = meterStandardEquipmentMapper.selectMaxNo(); - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); meterStandardEquipment.setStandardNo(standard_no); meterStandardEquipmentMapper.insert(meterStandardEquipment); // 插入文件列表 @@ -129,7 +129,7 @@ } DictCodeUtils.validDictCode(item); //生成资产编号 - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); item.setStandardNo(standard_no); maxNo++; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java index 481cf64..b749b2e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java @@ -2,7 +2,6 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.dto.IdDTO; @@ -12,7 +11,7 @@ import com.casic.missiles.dto.equipment.StateManageResponse; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java index 5dd6f8e..e566e01 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.EquipmentWorkbenchResponse; -import com.casic.missiles.enums.ApplyFromIdEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java index f3b9c4f..485287a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java @@ -6,7 +6,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.system.dao.DeptMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java index ce076b0..c20feb0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java @@ -4,7 +4,6 @@ import cn.hutool.core.lang.Assert; import cn.hutool.core.util.ObjectUtil; import com.alibaba.excel.util.DateUtils; -import com.alibaba.excel.util.StringUtils; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -22,18 +21,18 @@ import com.casic.missiles.dto.meter.MeterCertificateImport; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.enums.*; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterRoleTypeEnum; +import com.casic.missiles.enums.workbench.MessageTypeEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.meter.MeterCertificateExpireMessageMapper; import com.casic.missiles.mapper.meter.MeterCertificateMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.sys.UserInfoMapper; import com.casic.missiles.mapper.workbench.WorkbenchRemindMessageMapper; import com.casic.missiles.model.meter.MeterCertificate; -import com.casic.missiles.model.meter.MeterCertificateExpireMessage; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.model.system.UserInfo; import com.casic.missiles.model.workbench.WorkbenchRemindMessage; -import com.casic.missiles.service.meter.MeterCertificateExpireMessageService; import com.casic.missiles.service.meter.MeterCertificateService; import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; import com.casic.missiles.utils.ExportUtils; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java new file mode 100644 index 0000000..e196dda --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Builder; +import lombok.Data; + +/** + * @author cz + */ +@Data +@Builder +public class NotifyEventStatusDTO { + + /** + * 业务表主键 + */ + private String id; + /** + * 业务表状态 + */ + private String status; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java index 65c19e3..0f3e84f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java @@ -74,7 +74,7 @@ /** * 部门/科室/工程组名称 */ - @ExcelProperty("组织编号") + @ExcelProperty("组织名称") @ApiModelProperty(value = "计量组织名称", dataType = "String", required = true) @NotBlank(message = "计量组织名称不能为空") @TableField("organize_name") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java index 54dc5cd..244e431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java @@ -84,7 +84,7 @@ * 签名用户id(一个用户一个签名,签名不使用关联表,签章暂时使用和使用人的关联表) */ @TableField("sign_user_id") - private String signUserId; + private Long signUserId; /** * 签章或签名-字典code diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java index ca20ca4..0e94b9e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 2f97cb3..fdc4bf0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -3,7 +3,6 @@ import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -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; @@ -17,9 +16,10 @@ import com.casic.missiles.dto.flowable.ApprovalAgreeRequest; import com.casic.missiles.dto.flowable.ApprovalRefuseRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -42,10 +42,9 @@ */ @Service @AllArgsConstructor -public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { +public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService, CertificatePrintStatusEnum { private final IBaseApprovalService baseApprovalService; - private final AbstractDictService dictService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; @@ -86,7 +85,7 @@ } /** - * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 * * @return */ @@ -103,7 +102,7 @@ BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); //设置为不能打印 - certificateReport.setPrintStatus("2"); + certificateReport.setPrintStatus(NON_PRINTABLE); certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { @@ -113,7 +112,7 @@ } /** - * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 */ @Transactional @Override @@ -128,7 +127,7 @@ //审批状态为审批中 certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //打印状态审批中 - certificateReport.setPrintStatus("3"); + certificateReport.setPrintStatus(IN_APPROVAL); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -142,7 +141,7 @@ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)&&CollectionUtils.isEmpty(request.getIds())) { - handlerBeApproved(approvalList, page, request); + approvalList=handlerBeApproved(approvalList, page, request); }else { approvalList=this.baseMapper.selectBatchForApprovalList(page, request, null); } 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 d03ab22..164c53a 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,17 +7,22 @@ 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.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; -import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +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.MonitorCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -26,9 +31,9 @@ import com.casic.missiles.service.business.IBusinessCertificateReportService; import com.casic.missiles.service.business.IBusinessOriginalRecordService; import com.casic.missiles.service.flowable.ApprovalOperateService; -import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; +import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.runtime.ProcessInstance; @@ -68,8 +73,10 @@ private RuntimeService runtimeService; @Resource private IBaseExportService iBaseExportService; + /** * 保存证书报告信息 + * * @param certificateReport * @return */ @@ -77,7 +84,7 @@ public ReturnDTO saveCertificateReport(BusinessCertificateReport certificateReport) { initCertificateReport(certificateReport); - if(this.baseMapper.insert(certificateReport)>0) + if (this.baseMapper.insert(certificateReport) > 0) return ReturnUtil.success(); throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -90,9 +97,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //删除数据库记录 - if(this.baseMapper.deleteById(request.getId()) > 0){ + if (this.baseMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -101,7 +108,7 @@ @Override public ReturnDTO draftUpdate(BusinessCertificateReport certificateReport) { - if(this.baseMapper.updateById(certificateReport)>0){ + if (this.baseMapper.updateById(certificateReport) > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -109,25 +116,27 @@ /** * 批量删除 + * * @param ids * @return */ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - return baseMapper.deleteBatchIds(ids) > 0?ReturnUtil.success(): + return baseMapper.deleteBatchIds(ids) > 0 ? ReturnUtil.success() : ReturnUtil.failed("删除失败"); } /** * 证书报告详情 + * * @param id * @return */ @Override public BusinessCertificateReport certificateReportDetail(Long id) { BusinessCertificateReport certificateReport = this.baseMapper.selectById(id); - if(certificateReport.getOriginalRecordId()!=null){ + if (certificateReport.getOriginalRecordId() != null) { try { certificateReport.setBusinessOriginalRecord(originalRecordService.originalDetail(certificateReport.getOriginalRecordId())); } catch (Exception e) { @@ -139,6 +148,7 @@ /** * 提交证书报告 + * * @param request * @return */ @@ -148,10 +158,10 @@ String formId = request.getFormId(); //2.根据流程定义id启动流程实例 ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); certificateReport.setApprovalStatus(ApprovalStatusEnum.UN_DRAFT); //非草稿状态 @@ -165,6 +175,7 @@ /** * 审批状态列表查询 + * * @param page * @param request * @return @@ -182,6 +193,7 @@ /** * 驳回后更新 + * * @param certificateReport * @return */ @@ -208,13 +220,14 @@ @Override public void originExport(CertificateReportApprovalRequest request, HttpServletResponse response) { try { - //toDo: -// List certificateReportResponses = this.certificateReport(request); -// for (OriginRecordResponse originRecordResponse : originExportList) { -// //字典值转换 -// DictCodeUtils.convertDictCodeToName(originRecordResponse); -// } -// iBaseExportService.exportExcel(response, CertificateReportResponse.class, originExportList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); + //登录用户 + AuthUser user = ShiroKit.getUser(); + Assert.isFalse(Objects.isNull(user), () -> { + throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); + }); + request.setCreateUserId(user.getId()); + List reportResponseList = handleApprovalStatus(null, request); + iBaseExportService.exportExcel(response, CertificateReportResponse.class, reportResponseList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); } catch (Exception e) { log.error("证书报告导出出现异常,异常信息为{}", e); } @@ -231,15 +244,15 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -251,27 +264,27 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ - approvalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); + if (!CollectionUtils.isEmpty(businessKeys)) { + approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ - rejectApprovalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { + rejectApprovalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -279,7 +292,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.CANCELED); } break; @@ -288,10 +301,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleAllApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), AllApproveList); } break; @@ -299,9 +312,26 @@ return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List allApproveList) { - Map taskMap = new HashMap<>(); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + /** + * 客户、样品详情列表 + */ + @Override + public Page certificateRecordsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception { + Page page = PageFactory.defaultPage(); + Page certificateResponsePage = this.baseMapper.certificateRecordsById(page, customerSampleIdRequest); + for (CertificationResponse customerSampleListResponse : certificateResponsePage.getRecords()) { + if (!StringUtils.isEmpty(customerSampleListResponse.getCertificationClass())) { + DictCodeUtils.convertDictMultiCodeToName(customerSampleListResponse); + } + } + return certificateResponsePage; + } + + private List handleAllApprovalListResponse(List approvalList, List allApproveList) { + Map taskMap = new HashMap<>(); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -313,7 +343,7 @@ return approvalList.stream().sorted(Comparator.comparing(CertificateReportResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, String status){ + private List handleApprovalListResponse(List approvalList, String status) { approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); @@ -324,14 +354,14 @@ private void initCertificateReport(BusinessCertificateReport certificateReport) { String prefix = MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue() - +DateUtil.format(new Date(),"YYYYMM"); + + DateUtil.format(new Date(), "YYYYMM"); Long maxNo = this.baseMapper.selectMaxCode(prefix); //生成证书编号 - String certificateReportNo =NumberGeneratorUtil.getCode( - MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(),maxNo); + String certificateReportNo = NumberGeneratorUtil.getCode( + MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(), maxNo); AuthUser authUser = ShiroKit.getUser(); certificateReport.setCreateUser(authUser.getId()); - certificateReport.setMeasurePersonId(authUser.getId()+""); + certificateReport.setMeasurePersonId(authUser.getId() + ""); certificateReport.setMeasureDeptId(authUser.getDeptId()); certificateReport.setCertificateReportCode(certificateReportNo); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index c4ed5f6..5456773 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -12,13 +12,12 @@ import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; import com.casic.missiles.mapper.business.EnvironmentListResponseMapper; import com.casic.missiles.model.business.BusinessEnvironmentRecord; -import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 859010b..0d847a0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessInterchangeMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; @@ -35,7 +36,7 @@ * 业务管理-设备交接单 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @@ -83,7 +84,7 @@ } /** - * 更新不对样品有任何操作 + * 更新只是交接单的变更,没有任何其他单位的变化 */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { @@ -94,6 +95,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 交接单新增,同时在样品委托书管理表中新增交接单记录id + */ @Override @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { @@ -111,6 +115,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 选中判断ids存在,进行其他条件的清空 + */ @Override public void exportExchange(InterchangeListRequest request, HttpServletResponse response) { try { @@ -153,7 +160,7 @@ private void populationExchange(BusinessInterchange businessInterchange) { Long maxNo = this.baseMapper.selectMaxExchangeNo(); - String orderNo = NumberGeneratorUtil.getContactNo("jjdh", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.INTER_CHANGE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessInterchange.setCreateUser(authUser.getId()); businessInterchange.setInterchangeCode(orderNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java index 585a207..955cc7a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java @@ -13,19 +13,18 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.*; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.HandOutPropertyEnum; -import com.casic.missiles.enums.MeasureStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.HandOutPropertyEnum; +import com.casic.missiles.enums.business.MeasureStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.*; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; -import com.casic.missiles.model.business.BusinessLabExecutiveInfo; -import com.casic.missiles.model.business.BusinessLabExecutiveOperateLog; -import com.casic.missiles.model.business.BusinessLabExecutiveTemplateInfo; +import com.casic.missiles.model.business.*; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; import com.casic.missiles.service.business.IBusinessLabExecutiveTemplateInfoService; @@ -71,6 +70,8 @@ private AbstractDictService dictService; @Autowired private MeterStaffMapper staffMapper; + @Autowired + private BusinessOrderMapper orderMapper; @Override public Page handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) throws Exception{ @@ -377,7 +378,9 @@ if(CollectionUtils.isEmpty(unExecutiveInfos)){ //更新样品状态为检测完 orderSampleRelationMapper.updateByOrderIdAndSampleId(pre.getOrderId(), pre.getSampleId(), SampleStatusEnum.MEASURE_COMPLETE); - // TODO: 2023/2/17 委托书中所有样品检测完更新委托书接收状态为检测完成,需求待定 + + //委托书中所有样品检测完更新委托书接收状态为检测完成,未检测完的数量为0则表示全部检完 + updateOrderStatusComplete(pre); //将检测记录加入到实验室检测模板(仅全部为检测完成的才加入到模板,包含终止的不会加入) List labList = new ArrayList<>(); @@ -407,9 +410,27 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + @Transactional + public void updateOrderStatusComplete(SampleOperateRequest pre) { + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("order_id", pre.getOrderId()); + List statusList = new ArrayList<>(); + statusList.add(SampleStatusEnum.TO_RECEIVE); + statusList.add(SampleStatusEnum.TO_HANDOUT); + statusList.add(SampleStatusEnum.IN_MEASURE); + wrapper1.in("sample_status", statusList); + //同一事务中可查到更新后的数量 + if(orderSampleRelationMapper.selectCount(wrapper1) == 0){ + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(pre.getOrderId()); + businessOrder.setStatus(OrderStatusEnum.COMPLETE); + orderMapper.updateById(businessOrder); + } + } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + String templateCode = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.LAB_EXECUTIVE_TEMPLATE_PREFIX, maxNo + i); templateInfo.setTemplateCode(templateCode); // templateInfo.setSampleTypeId(); templateInfo.setSampleId(lab.getSampleId()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index f5c6f61..1d63554 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -14,6 +14,10 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; +import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; @@ -35,7 +39,6 @@ import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -45,12 +48,12 @@ * 业务管理-委托书 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @AllArgsConstructor -public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { +public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService,PrefixCodeEnum, OrderStatusEnum,SampleStatusEnum, MeasureTypeEnum { private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; @@ -90,8 +93,10 @@ List customerSampleList = new ArrayList<>(); for (BusinessOrderSampleRelation orderSample : orderSampleList) { CustomerSampleInfo customerSampleInfo = customerSampleService.sampleDetail(orderSample.getSampleId()); - customerSampleInfo.setIsExistSample("1"); - customerSampleList.add(customerSampleInfo); + if (null != customerSampleInfo) { + customerSampleInfo.setIsExistSample("1"); + customerSampleList.add(customerSampleInfo); + } } businessOrder.setCustomerSampleInfoList(customerSampleList); return businessOrder; @@ -202,7 +207,13 @@ @Override public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); - String dealType = "委托书" + ((status.equals("2")) ? "接收" : "退回"); + String dealType = ""; + if (status.equals(ALREADY_RECEIVED)) { + dealType = "委托书接收" ; + doUpdateSampleStatus(orderCancelRequest.getId(),TO_RECEIVE); + } else { + dealType = "委托书退回"; + } int addDealRecordFlag = addDealRecord(orderCancelRequest, dealType); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -216,7 +227,7 @@ @Override @Transactional public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { - int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), ALREADY_CANCEL); int addDealRecordFlag = addDealRecord(orderCancelRequest, "委托书取消"); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -250,6 +261,7 @@ return dealRecordMapper.insert(businessDealRecord); } + /** * 强调正在做状态更新 */ @@ -280,12 +292,12 @@ private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); - String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(ORDER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); - businessOrder.setStatus("1"); + businessOrder.setStatus(NOT_RECEIVED); } /** @@ -320,10 +332,23 @@ sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); - sampleStatusPopulation.setMeasureType("1"); + sampleStatusPopulation.setMeasureType(INSIDE_MEASURE); return this.sampleRelationMapper.insert(sampleStatusPopulation); } + /** + * 强调正在做状态更新 + */ + private int doUpdateSampleStatus(Long orderId, String sampleStatus) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", orderId); + BusinessOrderSampleRelation orderSample = new BusinessOrderSampleRelation(); + orderSample.setId(orderId); + orderSample.setSampleStatus(sampleStatus); + return this.sampleRelationMapper.update(orderSample, queryWrapper); + } + + private void doSampleListPopulation(BusinessOrder businessOrder) { businessOrder.getCustomerSampleInfoList().forEach( customerSampleInfo -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java index 1e35b7a..1c602b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java @@ -131,7 +131,7 @@ @Override public ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord) { - if (this.baseMapper.insert(businessOriginalRecord) > 0) { + if (this.baseMapper.updateById(businessOriginalRecord) > 0) { //加入技术文件绑定 if (ObjectUtil.isNotEmpty(businessOriginalRecord.getFileList()) && businessOriginalRecord.getFileList().size() > 0) { originalRecordFileRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getFileList()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java index 07c88e9..c9c1902 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.date.DateUtil; import com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -14,6 +15,7 @@ import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; @@ -29,6 +31,7 @@ import org.springframework.util.ObjectUtils; import javax.servlet.http.HttpServletResponse; +import java.util.Date; import java.util.List; import java.util.Objects; import java.util.Optional; @@ -39,7 +42,7 @@ @Service @Slf4j @AllArgsConstructor -public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService { +public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService, SampleStatusEnum, CurrentSegmentEnum, MeasureTypeEnum { private final BusinessOrderSampleRelationMapper orderSampleRelationMapper; private final BusinessCertificateReportMapper certificateReportMapper; @@ -73,20 +76,20 @@ Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.TO_HANDOUT: + case TO_HANDOUT: //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 - case SampleStatusEnum.IN_MEASURE: + case IN_MEASURE: //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.MEASURE_COMPLETE: + case MEASURE_COMPLETE: doDispatchVoPopulation(dispatchVO, sampleId, orderId); return; //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 - case SampleStatusEnum.BE_OVERDUE: + case BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); @@ -126,12 +129,14 @@ /** - * 状态更新 + * 根据sampleId,orderId,进行状态更新 */ @Override + @Transactional public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { + boolean beforeEventFlag = beforeStatusChange(deviceStatusChangeDTO); Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFlag > 0) { + if (updateFlag > 0 && beforeEventFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -181,8 +186,9 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); +// queryWrapper.ne("order_id", deviceStatusChangeDTO.getOrderId()); BusinessLabExecutiveInfo businessLabExecutiveInfo = new BusinessLabExecutiveInfo(); - businessLabExecutiveInfo.setMeasureStatus(deviceStatusChangeDTO.getStatus()); +// businessLabExecutiveInfo.setMeasureStatus(); businessLabExecutiveInfo.setRemark(deviceStatusChangeDTO.getReason()); labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } @@ -214,6 +220,9 @@ return handOutLabExecutiveDTOOptional.orElse(null); } + /** + * 构建证书的查询条件 + */ private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("order_id", dispatchVO.getOrderId()); @@ -230,7 +239,8 @@ queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); if (terminateFlag) { - queryWrapper.eq("sample_status", "2").or().eq("sample_status", "3").or().eq("sample_status", "4"); + //若是终止,需要对应待分发、检测中、检测完三个状态的变更 + queryWrapper.eq("sample_status", TO_HANDOUT).or().eq("sample_status", IN_MEASURE).or().eq("sample_status", MEASURE_COMPLETE); } BusinessOrderSampleRelation businessOrderSampleRelation = new BusinessOrderSampleRelation(); businessOrderSampleRelation.setSampleStatus(statusChangeDTO.getStatus()); @@ -238,12 +248,12 @@ } /** - * 判断不是自检 + * 判断不是自检,即外包和外检,进行环节设定 */ private boolean notSelfMeasure(DeviceDispatchVO dispatchVO) { if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType())) { - if (MeasureStatusEnum.TO_ALLOCATE.equals(String.valueOf(dispatchVO.getMeasureType())) || MeasureStatusEnum.TO_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { - String currentSegment = MeasureStatusEnum.TO_ALLOCATE.equals(dispatchVO.getMeasureType()) ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; + if (OTHERS_UNDERTAKE.equals(String.valueOf(dispatchVO.getMeasureType())) || OUTSIDE_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { + String currentSegment = OTHERS_UNDERTAKE.equals(dispatchVO.getMeasureType()) ? OUT_UNDERTAKE : OUT_MESASUR; dispatchVO.setCurrentSegment(currentSegment); return true; } @@ -251,6 +261,9 @@ return false; } + /** + * 其他条件的置为空 + */ private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { request.setSampleName(null); request.setSampleNo(null); @@ -264,18 +277,38 @@ } /** - * 判断样品是完成或接收状态,直接显示即可 + * 判断样品是完成或接收状态,进行当前阶段环节的设置 */ private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { - if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + if (TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_INCOME); return true; } - if (SampleStatusEnum.TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); + if (TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_ALLOCATE); return true; } return false; } + private boolean beforeStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(TO_INCOME)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + List orderSampleRelationList = this.orderSampleRelationMapper.selectList(queryWrapper); + Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); + if (orderSampleRelationOptional.isPresent()) { + BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); + if (businessOrderSampleRelation.getSampleStatus().equals(TO_ALLOCATE)) { + BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); + businessOrderSample.setRealDeliverTime(DateUtil.format(new Date(), "yyyy-MM-dd")); + int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); + return updateFlag > 0 ? true : false; + } + } + } + return true; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java index 4f06678..e2fea21 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerAdviceMapper; import com.casic.missiles.mapper.customer.CustomerMapper; @@ -34,7 +35,7 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerAdviceServiceImpl implements CustomerAdviceService { +public class CustomerAdviceServiceImpl implements CustomerAdviceService,PrefixCodeEnum { private final CustomerAdviceMapper customerAdviceMapper; private final IBaseExportService iBaseExportService; @@ -122,7 +123,7 @@ private void initCustomerAdviceInfo(CustomerAdviceInfo customerAdviceInfo) { Long maxNo = customerAdviceMapper.selectMaxAdviceNo(); - String adviceNo = NumberGeneratorUtil.getContactNo("khjy", maxNo); + String adviceNo = NumberGeneratorUtil.getContactNo(CUSTOMER_ADVICE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerAdviceInfo.setCreateUser(authUser.getId()); customerAdviceInfo.setUpdateUser(authUser.getId()); 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 4889e55..f9747dd 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 @@ -10,18 +10,19 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.sample.CertificationExpireStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; import com.casic.missiles.mapper.customer.CustomerMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerSampleListResponseMapper; import com.casic.missiles.mapper.customer.CustomerSampleMapper; -import com.casic.missiles.mapper.customer.customize.MesureRecordsResponseMapper; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -42,13 +43,11 @@ @Service @AllArgsConstructor -public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService { +public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService, CertificationExpireStatusEnum,PrefixCodeEnum{ private final CustomerSampleListResponseMapper customerSampleListResponseMapper; private final CustomerMapper customerMapper; private final IBaseExportService iBaseExportService; - private final CertificationResponseMapper certificationResponseMapper; - private final MesureRecordsResponseMapper mesureResponseMapper; private final BusinessOrderSampleRelationMapper sampleRelationMapper; @Override @@ -58,14 +57,14 @@ customerSamplePage.getRecords() .forEach(customerSample -> { BusinessOrderSampleRelation businessOrderSampleRelation = this.getSampleStatusById(customerSample.getId()); + customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); - customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); } }); for (CustomerSampleListResponse customerSampleListResponse : customerSamplePage.getRecords()) { - if (!StringUtils.isEmpty(customerSampleListResponse.getSampleSatus())) { + if (!StringUtils.isEmpty(customerSampleListResponse.getSampleStatus())) { DictCodeUtils.convertDictCodeToName(customerSampleListResponse); } } @@ -106,14 +105,13 @@ public CustomerSampleInfo sampleDetail(Long id) { CustomerSampleInfo customerSampleInfo = this.baseMapper.selectById(id); if (!ObjectUtils.isEmpty(customerSampleInfo)) { - doCustomerSampleInfoPopulation(customerSampleInfo); + doPopulateCustomerSampleInfo(customerSampleInfo); } return customerSampleInfo; } /** * 只导出样品列表信息 - * */ @Override public void sampleExport(CustomerSampleListRequest request, HttpServletResponse response) { @@ -135,7 +133,7 @@ BusinessOrderSampleRelation businessOrderSampleRelation = businessOrderMap.get(customerSample.getId()); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); } } @@ -159,26 +157,16 @@ } @Override - public Page measureRecordsBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page measureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); + public Page measureRecordsById(CustomerSampleIdRequest customerSampleIdRequest) { + Page page = PageFactory.defaultPage(); + Page measureRecordsResponsePage = this.baseMapper.measureRecordsById(page, customerSampleIdRequest); return measureRecordsResponsePage; } - @Override - public Page certificationBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page certificateResponsePage = certificationResponseMapper.selectPage(page, wrapper); - return certificateResponsePage; - } @Override - public Page samplesByOderId(Page page,Long orderId, String sampleNo, String sampleName) { - return this.baseMapper.samplesByOderId(page,orderId,sampleNo,sampleName); + public Page samplesByOderId(Page page, Long orderId, String sampleNo, String sampleName) { + return this.baseMapper.samplesByOderId(page, orderId, sampleNo, sampleName); } private BusinessOrderSampleRelation getSampleStatusById(Long sampleId) { @@ -190,9 +178,12 @@ return orderSampleOptional.isPresent() ? orderSampleOptional.get() : null; } + /** + * 初始化样品状态 + */ private void initSample(CustomerSampleInfo customerSampleInfo) { Long maxNo = this.baseMapper.selectMaxSampleNo(); - String sampleNo = NumberGeneratorUtil.getContactNo("khyp", maxNo); + String sampleNo = NumberGeneratorUtil.getContactNo(SAMPLE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setSampleNo(sampleNo); customerSampleInfo.setCreateUser(authUser.getId()); @@ -202,7 +193,6 @@ private QueryWrapper listParamWrapper(CustomerSampleListRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.select("id,sample_no,sample_name,sample_model,manufacturing_no,customer_id,measure_period,measure_last_time,remark,valid_deadline"); queryWrapper.like(StringUtils.isNotBlank(request.getSampleNo()), "sample_no", request.getSampleNo()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleName()), "sample_name", request.getSampleName()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleBelong()), "sample_belong", request.getSampleBelong()); @@ -210,9 +200,10 @@ queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); if (!StringUtils.isEmpty(request.getOvertimeStatus())) { - queryWrapper.apply(request.getOvertimeStatus().equals("1"), + queryWrapper.apply("1".equals(request.getOvertimeStatus()), + "sysdate() > DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); - queryWrapper.apply(request.getOvertimeStatus().equals("0"), + queryWrapper.apply("0".equals(request.getOvertimeStatus()), "sysdate() <= DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); } queryWrapper.apply(StringUtils.isNotBlank(request.getStartTime()), @@ -224,24 +215,30 @@ return queryWrapper; } + /** + * 通过证书到期时间进行到期状态的计算 + */ private String calculateCertificationStatus(String validDeadline) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if (StringUtils.isEmpty(validDeadline)) { - return "0"; + return NORMAL; } - if (validDeadline.compareTo(sdf.format(new Date())) > 0) { - return "2"; + if (validDeadline.compareTo(sdf.format(new Date())) < 0) { + return ALREADY_EXPIRE; } Calendar date = Calendar.getInstance(); date.setTime(new Date()); date.add(Calendar.DAY_OF_MONTH, -30); - if (validDeadline.compareTo(sdf.format(date.getTime())) > 0) { - return "1"; + if (validDeadline.compareTo(sdf.format(date.getTime())) < 0) { + return ALMOST_EXPIRE; } - return "0"; + return NORMAL; } - private void doCustomerSampleInfoPopulation(CustomerSampleInfo customerSampleInfo) { + /** + * 对样品列表的进行供应商联系方式的填充 + */ + private void doPopulateCustomerSampleInfo(CustomerSampleInfo customerSampleInfo) { CustomerInfo customerInfo = customerMapper.selectById(customerSampleInfo.getCustomerId()); if (!ObjectUtils.isEmpty(customerInfo)) { customerSampleInfo.setPhone(customerInfo.getPhone()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java index 32d4dee..f6e1f8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java @@ -11,13 +11,12 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerMapper; import com.casic.missiles.mapper.customer.CustomerUserMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerInfoResponseMapper; import com.casic.missiles.mapper.customer.customize.SampleRecordsResponseMapper; import com.casic.missiles.model.customer.CustomerInfo; @@ -38,11 +37,10 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerServiceImpl extends ServiceImpl implements CustomerService { +public class CustomerServiceImpl extends ServiceImpl implements CustomerService,PrefixCodeEnum { private final SampleRecordsResponseMapper sampleRecordsResponseMapper; private final CustomerUserMapper customerUserMapper; - private final CertificationResponseMapper certificationMapper; private final IBaseExportService iBaseExportService; private final CustomerInfoResponseMapper customerInfoResponseMapper; @@ -126,18 +124,9 @@ return contractRecordsResponsePage; } - @Override//暂定不做 - public Page mesureRecordsByCustomerId(Long customerId) { - Page measureRecordsResponsePage = PageFactory.defaultPage(); - return measureRecordsResponsePage; - } - @Override public Page certificationByCustomerId(Long customerId) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("customer_id", customerId); - return certificationMapper.selectPage(page, wrapper); + return null; } @Override @@ -163,8 +152,7 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); - queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "bussiness_size", request.getBusinessSize()); - queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); + queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "business_size", request.getBusinessSize()); queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); queryWrapper.eq("is_del", 0); return queryWrapper; @@ -172,7 +160,7 @@ private void initCustomerInfo(CustomerInfo customerInfo) { Long maxNo = this.baseMapper.selectMaxCustomerNo(); - String customerNo = NumberGeneratorUtil.getContactNo("khxx", maxNo); + String customerNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CUSTOMER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerInfo.setCreateUser(authUser.getId()); customerInfo.setUpdateUser(authUser.getId()); @@ -196,7 +184,7 @@ boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { customerUserInfo.setCustomerId(id); - String customerNo = NumberGeneratorUtil.getContactNo("khyh", maxUserNo++); + String customerNo = NumberGeneratorUtil.getContactNo(CUSTOMER_USER_PREFIX, maxUserNo++); customerUserInfo.setUserNo(customerNo); int userAddNum = customerUserMapper.insert(customerUserInfo); if (userAddNum <= 0) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java index d81a488..77e4caf 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java @@ -13,9 +13,10 @@ import com.casic.missiles.dto.equipment.AcceptanceCheckRequest; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentAcceptanceCheckMapper; @@ -183,7 +184,7 @@ public ReturnDTO addAcceptanceCheck(EquipmentApply equipmentApply) { Long maxNo = equipmentApplyMapper.selectMaxNo(); // 生成编号 - String applyNo = NumberGeneratorUtil.getContactNo("sbjxbyysd", maxNo); + String applyNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.REPAIR_MAINTAIN_PREFIX, maxNo); equipmentApply.setApplyNo(applyNo); // 草稿箱状态 equipmentApply.setApprovalStatus(ApprovalStatusEnum.DRAFT); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java index 38ad4e9..d468012 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java @@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.base.service.IBaseExportService; -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.IdDTO; @@ -20,6 +19,9 @@ import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java index 7c4fdbc..e6a1ff8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.equipment.CheckInfoRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoFileMapper; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoMapper; @@ -79,7 +80,7 @@ @Transactional public ReturnDTO addCheckInfo(EquipmentCheckInfo equipmentCheckInfo) { long maxNo = equipmentCheckInfoMapper.selectMaxNo(); - String checkNo = NumberGeneratorUtil.getContactNo("jc", maxNo); + String checkNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CHECK_PREFIX, maxNo); equipmentCheckInfo.setCheckNo(checkNo); if(equipmentCheckInfoMapper.insert(equipmentCheckInfo) > 0){ Long id = equipmentCheckInfo.getId(); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java index ba6a600..7ff9c16 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.equipment; -import cn.hutool.core.io.unit.DataUnit; import com.alibaba.excel.util.DateUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -13,7 +12,8 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.FixedAssetRequest; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentFixedAssetFileMapper; @@ -131,7 +131,7 @@ validManufacturingNo(meterFixedAssets); //生成资产编号 Long maxNo = meterFixedAssetsMapper.selectMaxNo(); - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); meterFixedAssets.setAssetNo(asset_no); meterFixedAssets.setEquipmentNo(asset_no); meterFixedAssetsMapper.insert(meterFixedAssets); @@ -164,7 +164,7 @@ //需要根据出厂编号判重 validManufacturingNo(item); //生成资产编号 - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); item.setAssetNo(asset_no); item.setEquipmentNo(asset_no); maxNo++; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java index 3e63a5a..2b29aa7 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java @@ -18,6 +18,8 @@ import com.casic.missiles.dto.equipment.StandardEquipmentApplyRequest; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.StandardApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java index caa63a7..afa6905 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java @@ -10,9 +10,9 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.StandardEquipmentRequest; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentFileMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentMapper; -import com.casic.missiles.model.equipment.EquipmentApply; import com.casic.missiles.model.equipment.EquipmentStandardEquipment; import com.casic.missiles.model.equipment.EquipmentStandardEquipmentFile; import com.casic.missiles.model.page.PageQuery; @@ -74,7 +74,7 @@ public ReturnDTO add(EquipmentStandardEquipment meterStandardEquipment) { //生成资产编号 Long maxNo = meterStandardEquipmentMapper.selectMaxNo(); - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); meterStandardEquipment.setStandardNo(standard_no); meterStandardEquipmentMapper.insert(meterStandardEquipment); // 插入文件列表 @@ -129,7 +129,7 @@ } DictCodeUtils.validDictCode(item); //生成资产编号 - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); item.setStandardNo(standard_no); maxNo++; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java index 481cf64..b749b2e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java @@ -2,7 +2,6 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.dto.IdDTO; @@ -12,7 +11,7 @@ import com.casic.missiles.dto.equipment.StateManageResponse; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java index 5dd6f8e..e566e01 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.EquipmentWorkbenchResponse; -import com.casic.missiles.enums.ApplyFromIdEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java index f3b9c4f..485287a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java @@ -6,7 +6,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.system.dao.DeptMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java index ce076b0..c20feb0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java @@ -4,7 +4,6 @@ import cn.hutool.core.lang.Assert; import cn.hutool.core.util.ObjectUtil; import com.alibaba.excel.util.DateUtils; -import com.alibaba.excel.util.StringUtils; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -22,18 +21,18 @@ import com.casic.missiles.dto.meter.MeterCertificateImport; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.enums.*; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterRoleTypeEnum; +import com.casic.missiles.enums.workbench.MessageTypeEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.meter.MeterCertificateExpireMessageMapper; import com.casic.missiles.mapper.meter.MeterCertificateMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.sys.UserInfoMapper; import com.casic.missiles.mapper.workbench.WorkbenchRemindMessageMapper; import com.casic.missiles.model.meter.MeterCertificate; -import com.casic.missiles.model.meter.MeterCertificateExpireMessage; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.model.system.UserInfo; import com.casic.missiles.model.workbench.WorkbenchRemindMessage; -import com.casic.missiles.service.meter.MeterCertificateExpireMessageService; import com.casic.missiles.service.meter.MeterCertificateService; import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; import com.casic.missiles.utils.ExportUtils; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java index ecf1fc3..e84f4d6 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java @@ -17,10 +17,11 @@ import com.casic.missiles.dto.meter.FileApprovalListResponse; import com.casic.missiles.dto.meter.FileListRequest; import com.casic.missiles.dto.meter.FileSaveResponse; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EffectiveStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.EffectiveStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterFileMapper; import com.casic.missiles.model.meter.MeterFile; @@ -92,7 +93,7 @@ public ReturnDTO saveFile(MeterFile file) { //生成文件编号 Long maxNo = meterFileMapper.selectMaxFileNo(); - String fileNo = NumberGeneratorUtil.getContactNo("jlwj", maxNo); + String fileNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FILE_PREFIX, maxNo); file.setFileNo(fileNo); file.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 Assert.isFalse(Objects.isNull(ShiroKit.getUser()), () -> { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java new file mode 100644 index 0000000..e196dda --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Builder; +import lombok.Data; + +/** + * @author cz + */ +@Data +@Builder +public class NotifyEventStatusDTO { + + /** + * 业务表主键 + */ + private String id; + /** + * 业务表状态 + */ + private String status; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java index 65c19e3..0f3e84f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java @@ -74,7 +74,7 @@ /** * 部门/科室/工程组名称 */ - @ExcelProperty("组织编号") + @ExcelProperty("组织名称") @ApiModelProperty(value = "计量组织名称", dataType = "String", required = true) @NotBlank(message = "计量组织名称不能为空") @TableField("organize_name") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java index 54dc5cd..244e431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java @@ -84,7 +84,7 @@ * 签名用户id(一个用户一个签名,签名不使用关联表,签章暂时使用和使用人的关联表) */ @TableField("sign_user_id") - private String signUserId; + private Long signUserId; /** * 签章或签名-字典code diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java index ca20ca4..0e94b9e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 2f97cb3..fdc4bf0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -3,7 +3,6 @@ import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -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; @@ -17,9 +16,10 @@ import com.casic.missiles.dto.flowable.ApprovalAgreeRequest; import com.casic.missiles.dto.flowable.ApprovalRefuseRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -42,10 +42,9 @@ */ @Service @AllArgsConstructor -public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { +public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService, CertificatePrintStatusEnum { private final IBaseApprovalService baseApprovalService; - private final AbstractDictService dictService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; @@ -86,7 +85,7 @@ } /** - * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 * * @return */ @@ -103,7 +102,7 @@ BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); //设置为不能打印 - certificateReport.setPrintStatus("2"); + certificateReport.setPrintStatus(NON_PRINTABLE); certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { @@ -113,7 +112,7 @@ } /** - * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 */ @Transactional @Override @@ -128,7 +127,7 @@ //审批状态为审批中 certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //打印状态审批中 - certificateReport.setPrintStatus("3"); + certificateReport.setPrintStatus(IN_APPROVAL); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -142,7 +141,7 @@ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)&&CollectionUtils.isEmpty(request.getIds())) { - handlerBeApproved(approvalList, page, request); + approvalList=handlerBeApproved(approvalList, page, request); }else { approvalList=this.baseMapper.selectBatchForApprovalList(page, request, null); } 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 d03ab22..164c53a 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,17 +7,22 @@ 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.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; -import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +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.MonitorCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -26,9 +31,9 @@ import com.casic.missiles.service.business.IBusinessCertificateReportService; import com.casic.missiles.service.business.IBusinessOriginalRecordService; import com.casic.missiles.service.flowable.ApprovalOperateService; -import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; +import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.runtime.ProcessInstance; @@ -68,8 +73,10 @@ private RuntimeService runtimeService; @Resource private IBaseExportService iBaseExportService; + /** * 保存证书报告信息 + * * @param certificateReport * @return */ @@ -77,7 +84,7 @@ public ReturnDTO saveCertificateReport(BusinessCertificateReport certificateReport) { initCertificateReport(certificateReport); - if(this.baseMapper.insert(certificateReport)>0) + if (this.baseMapper.insert(certificateReport) > 0) return ReturnUtil.success(); throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -90,9 +97,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //删除数据库记录 - if(this.baseMapper.deleteById(request.getId()) > 0){ + if (this.baseMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -101,7 +108,7 @@ @Override public ReturnDTO draftUpdate(BusinessCertificateReport certificateReport) { - if(this.baseMapper.updateById(certificateReport)>0){ + if (this.baseMapper.updateById(certificateReport) > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -109,25 +116,27 @@ /** * 批量删除 + * * @param ids * @return */ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - return baseMapper.deleteBatchIds(ids) > 0?ReturnUtil.success(): + return baseMapper.deleteBatchIds(ids) > 0 ? ReturnUtil.success() : ReturnUtil.failed("删除失败"); } /** * 证书报告详情 + * * @param id * @return */ @Override public BusinessCertificateReport certificateReportDetail(Long id) { BusinessCertificateReport certificateReport = this.baseMapper.selectById(id); - if(certificateReport.getOriginalRecordId()!=null){ + if (certificateReport.getOriginalRecordId() != null) { try { certificateReport.setBusinessOriginalRecord(originalRecordService.originalDetail(certificateReport.getOriginalRecordId())); } catch (Exception e) { @@ -139,6 +148,7 @@ /** * 提交证书报告 + * * @param request * @return */ @@ -148,10 +158,10 @@ String formId = request.getFormId(); //2.根据流程定义id启动流程实例 ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); certificateReport.setApprovalStatus(ApprovalStatusEnum.UN_DRAFT); //非草稿状态 @@ -165,6 +175,7 @@ /** * 审批状态列表查询 + * * @param page * @param request * @return @@ -182,6 +193,7 @@ /** * 驳回后更新 + * * @param certificateReport * @return */ @@ -208,13 +220,14 @@ @Override public void originExport(CertificateReportApprovalRequest request, HttpServletResponse response) { try { - //toDo: -// List certificateReportResponses = this.certificateReport(request); -// for (OriginRecordResponse originRecordResponse : originExportList) { -// //字典值转换 -// DictCodeUtils.convertDictCodeToName(originRecordResponse); -// } -// iBaseExportService.exportExcel(response, CertificateReportResponse.class, originExportList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); + //登录用户 + AuthUser user = ShiroKit.getUser(); + Assert.isFalse(Objects.isNull(user), () -> { + throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); + }); + request.setCreateUserId(user.getId()); + List reportResponseList = handleApprovalStatus(null, request); + iBaseExportService.exportExcel(response, CertificateReportResponse.class, reportResponseList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); } catch (Exception e) { log.error("证书报告导出出现异常,异常信息为{}", e); } @@ -231,15 +244,15 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -251,27 +264,27 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ - approvalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); + if (!CollectionUtils.isEmpty(businessKeys)) { + approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ - rejectApprovalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { + rejectApprovalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -279,7 +292,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.CANCELED); } break; @@ -288,10 +301,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleAllApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), AllApproveList); } break; @@ -299,9 +312,26 @@ return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List allApproveList) { - Map taskMap = new HashMap<>(); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + /** + * 客户、样品详情列表 + */ + @Override + public Page certificateRecordsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception { + Page page = PageFactory.defaultPage(); + Page certificateResponsePage = this.baseMapper.certificateRecordsById(page, customerSampleIdRequest); + for (CertificationResponse customerSampleListResponse : certificateResponsePage.getRecords()) { + if (!StringUtils.isEmpty(customerSampleListResponse.getCertificationClass())) { + DictCodeUtils.convertDictMultiCodeToName(customerSampleListResponse); + } + } + return certificateResponsePage; + } + + private List handleAllApprovalListResponse(List approvalList, List allApproveList) { + Map taskMap = new HashMap<>(); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -313,7 +343,7 @@ return approvalList.stream().sorted(Comparator.comparing(CertificateReportResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, String status){ + private List handleApprovalListResponse(List approvalList, String status) { approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); @@ -324,14 +354,14 @@ private void initCertificateReport(BusinessCertificateReport certificateReport) { String prefix = MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue() - +DateUtil.format(new Date(),"YYYYMM"); + + DateUtil.format(new Date(), "YYYYMM"); Long maxNo = this.baseMapper.selectMaxCode(prefix); //生成证书编号 - String certificateReportNo =NumberGeneratorUtil.getCode( - MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(),maxNo); + String certificateReportNo = NumberGeneratorUtil.getCode( + MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(), maxNo); AuthUser authUser = ShiroKit.getUser(); certificateReport.setCreateUser(authUser.getId()); - certificateReport.setMeasurePersonId(authUser.getId()+""); + certificateReport.setMeasurePersonId(authUser.getId() + ""); certificateReport.setMeasureDeptId(authUser.getDeptId()); certificateReport.setCertificateReportCode(certificateReportNo); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index c4ed5f6..5456773 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -12,13 +12,12 @@ import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; import com.casic.missiles.mapper.business.EnvironmentListResponseMapper; import com.casic.missiles.model.business.BusinessEnvironmentRecord; -import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 859010b..0d847a0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessInterchangeMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; @@ -35,7 +36,7 @@ * 业务管理-设备交接单 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @@ -83,7 +84,7 @@ } /** - * 更新不对样品有任何操作 + * 更新只是交接单的变更,没有任何其他单位的变化 */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { @@ -94,6 +95,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 交接单新增,同时在样品委托书管理表中新增交接单记录id + */ @Override @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { @@ -111,6 +115,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 选中判断ids存在,进行其他条件的清空 + */ @Override public void exportExchange(InterchangeListRequest request, HttpServletResponse response) { try { @@ -153,7 +160,7 @@ private void populationExchange(BusinessInterchange businessInterchange) { Long maxNo = this.baseMapper.selectMaxExchangeNo(); - String orderNo = NumberGeneratorUtil.getContactNo("jjdh", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.INTER_CHANGE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessInterchange.setCreateUser(authUser.getId()); businessInterchange.setInterchangeCode(orderNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java index 585a207..955cc7a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java @@ -13,19 +13,18 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.*; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.HandOutPropertyEnum; -import com.casic.missiles.enums.MeasureStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.HandOutPropertyEnum; +import com.casic.missiles.enums.business.MeasureStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.*; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; -import com.casic.missiles.model.business.BusinessLabExecutiveInfo; -import com.casic.missiles.model.business.BusinessLabExecutiveOperateLog; -import com.casic.missiles.model.business.BusinessLabExecutiveTemplateInfo; +import com.casic.missiles.model.business.*; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; import com.casic.missiles.service.business.IBusinessLabExecutiveTemplateInfoService; @@ -71,6 +70,8 @@ private AbstractDictService dictService; @Autowired private MeterStaffMapper staffMapper; + @Autowired + private BusinessOrderMapper orderMapper; @Override public Page handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) throws Exception{ @@ -377,7 +378,9 @@ if(CollectionUtils.isEmpty(unExecutiveInfos)){ //更新样品状态为检测完 orderSampleRelationMapper.updateByOrderIdAndSampleId(pre.getOrderId(), pre.getSampleId(), SampleStatusEnum.MEASURE_COMPLETE); - // TODO: 2023/2/17 委托书中所有样品检测完更新委托书接收状态为检测完成,需求待定 + + //委托书中所有样品检测完更新委托书接收状态为检测完成,未检测完的数量为0则表示全部检完 + updateOrderStatusComplete(pre); //将检测记录加入到实验室检测模板(仅全部为检测完成的才加入到模板,包含终止的不会加入) List labList = new ArrayList<>(); @@ -407,9 +410,27 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + @Transactional + public void updateOrderStatusComplete(SampleOperateRequest pre) { + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("order_id", pre.getOrderId()); + List statusList = new ArrayList<>(); + statusList.add(SampleStatusEnum.TO_RECEIVE); + statusList.add(SampleStatusEnum.TO_HANDOUT); + statusList.add(SampleStatusEnum.IN_MEASURE); + wrapper1.in("sample_status", statusList); + //同一事务中可查到更新后的数量 + if(orderSampleRelationMapper.selectCount(wrapper1) == 0){ + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(pre.getOrderId()); + businessOrder.setStatus(OrderStatusEnum.COMPLETE); + orderMapper.updateById(businessOrder); + } + } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + String templateCode = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.LAB_EXECUTIVE_TEMPLATE_PREFIX, maxNo + i); templateInfo.setTemplateCode(templateCode); // templateInfo.setSampleTypeId(); templateInfo.setSampleId(lab.getSampleId()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index f5c6f61..1d63554 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -14,6 +14,10 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; +import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; @@ -35,7 +39,6 @@ import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -45,12 +48,12 @@ * 业务管理-委托书 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @AllArgsConstructor -public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { +public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService,PrefixCodeEnum, OrderStatusEnum,SampleStatusEnum, MeasureTypeEnum { private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; @@ -90,8 +93,10 @@ List customerSampleList = new ArrayList<>(); for (BusinessOrderSampleRelation orderSample : orderSampleList) { CustomerSampleInfo customerSampleInfo = customerSampleService.sampleDetail(orderSample.getSampleId()); - customerSampleInfo.setIsExistSample("1"); - customerSampleList.add(customerSampleInfo); + if (null != customerSampleInfo) { + customerSampleInfo.setIsExistSample("1"); + customerSampleList.add(customerSampleInfo); + } } businessOrder.setCustomerSampleInfoList(customerSampleList); return businessOrder; @@ -202,7 +207,13 @@ @Override public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); - String dealType = "委托书" + ((status.equals("2")) ? "接收" : "退回"); + String dealType = ""; + if (status.equals(ALREADY_RECEIVED)) { + dealType = "委托书接收" ; + doUpdateSampleStatus(orderCancelRequest.getId(),TO_RECEIVE); + } else { + dealType = "委托书退回"; + } int addDealRecordFlag = addDealRecord(orderCancelRequest, dealType); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -216,7 +227,7 @@ @Override @Transactional public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { - int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), ALREADY_CANCEL); int addDealRecordFlag = addDealRecord(orderCancelRequest, "委托书取消"); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -250,6 +261,7 @@ return dealRecordMapper.insert(businessDealRecord); } + /** * 强调正在做状态更新 */ @@ -280,12 +292,12 @@ private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); - String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(ORDER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); - businessOrder.setStatus("1"); + businessOrder.setStatus(NOT_RECEIVED); } /** @@ -320,10 +332,23 @@ sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); - sampleStatusPopulation.setMeasureType("1"); + sampleStatusPopulation.setMeasureType(INSIDE_MEASURE); return this.sampleRelationMapper.insert(sampleStatusPopulation); } + /** + * 强调正在做状态更新 + */ + private int doUpdateSampleStatus(Long orderId, String sampleStatus) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", orderId); + BusinessOrderSampleRelation orderSample = new BusinessOrderSampleRelation(); + orderSample.setId(orderId); + orderSample.setSampleStatus(sampleStatus); + return this.sampleRelationMapper.update(orderSample, queryWrapper); + } + + private void doSampleListPopulation(BusinessOrder businessOrder) { businessOrder.getCustomerSampleInfoList().forEach( customerSampleInfo -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java index 1e35b7a..1c602b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java @@ -131,7 +131,7 @@ @Override public ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord) { - if (this.baseMapper.insert(businessOriginalRecord) > 0) { + if (this.baseMapper.updateById(businessOriginalRecord) > 0) { //加入技术文件绑定 if (ObjectUtil.isNotEmpty(businessOriginalRecord.getFileList()) && businessOriginalRecord.getFileList().size() > 0) { originalRecordFileRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getFileList()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java index 07c88e9..c9c1902 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.date.DateUtil; import com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -14,6 +15,7 @@ import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; @@ -29,6 +31,7 @@ import org.springframework.util.ObjectUtils; import javax.servlet.http.HttpServletResponse; +import java.util.Date; import java.util.List; import java.util.Objects; import java.util.Optional; @@ -39,7 +42,7 @@ @Service @Slf4j @AllArgsConstructor -public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService { +public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService, SampleStatusEnum, CurrentSegmentEnum, MeasureTypeEnum { private final BusinessOrderSampleRelationMapper orderSampleRelationMapper; private final BusinessCertificateReportMapper certificateReportMapper; @@ -73,20 +76,20 @@ Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.TO_HANDOUT: + case TO_HANDOUT: //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 - case SampleStatusEnum.IN_MEASURE: + case IN_MEASURE: //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.MEASURE_COMPLETE: + case MEASURE_COMPLETE: doDispatchVoPopulation(dispatchVO, sampleId, orderId); return; //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 - case SampleStatusEnum.BE_OVERDUE: + case BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); @@ -126,12 +129,14 @@ /** - * 状态更新 + * 根据sampleId,orderId,进行状态更新 */ @Override + @Transactional public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { + boolean beforeEventFlag = beforeStatusChange(deviceStatusChangeDTO); Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFlag > 0) { + if (updateFlag > 0 && beforeEventFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -181,8 +186,9 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); +// queryWrapper.ne("order_id", deviceStatusChangeDTO.getOrderId()); BusinessLabExecutiveInfo businessLabExecutiveInfo = new BusinessLabExecutiveInfo(); - businessLabExecutiveInfo.setMeasureStatus(deviceStatusChangeDTO.getStatus()); +// businessLabExecutiveInfo.setMeasureStatus(); businessLabExecutiveInfo.setRemark(deviceStatusChangeDTO.getReason()); labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } @@ -214,6 +220,9 @@ return handOutLabExecutiveDTOOptional.orElse(null); } + /** + * 构建证书的查询条件 + */ private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("order_id", dispatchVO.getOrderId()); @@ -230,7 +239,8 @@ queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); if (terminateFlag) { - queryWrapper.eq("sample_status", "2").or().eq("sample_status", "3").or().eq("sample_status", "4"); + //若是终止,需要对应待分发、检测中、检测完三个状态的变更 + queryWrapper.eq("sample_status", TO_HANDOUT).or().eq("sample_status", IN_MEASURE).or().eq("sample_status", MEASURE_COMPLETE); } BusinessOrderSampleRelation businessOrderSampleRelation = new BusinessOrderSampleRelation(); businessOrderSampleRelation.setSampleStatus(statusChangeDTO.getStatus()); @@ -238,12 +248,12 @@ } /** - * 判断不是自检 + * 判断不是自检,即外包和外检,进行环节设定 */ private boolean notSelfMeasure(DeviceDispatchVO dispatchVO) { if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType())) { - if (MeasureStatusEnum.TO_ALLOCATE.equals(String.valueOf(dispatchVO.getMeasureType())) || MeasureStatusEnum.TO_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { - String currentSegment = MeasureStatusEnum.TO_ALLOCATE.equals(dispatchVO.getMeasureType()) ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; + if (OTHERS_UNDERTAKE.equals(String.valueOf(dispatchVO.getMeasureType())) || OUTSIDE_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { + String currentSegment = OTHERS_UNDERTAKE.equals(dispatchVO.getMeasureType()) ? OUT_UNDERTAKE : OUT_MESASUR; dispatchVO.setCurrentSegment(currentSegment); return true; } @@ -251,6 +261,9 @@ return false; } + /** + * 其他条件的置为空 + */ private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { request.setSampleName(null); request.setSampleNo(null); @@ -264,18 +277,38 @@ } /** - * 判断样品是完成或接收状态,直接显示即可 + * 判断样品是完成或接收状态,进行当前阶段环节的设置 */ private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { - if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + if (TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_INCOME); return true; } - if (SampleStatusEnum.TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); + if (TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_ALLOCATE); return true; } return false; } + private boolean beforeStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(TO_INCOME)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + List orderSampleRelationList = this.orderSampleRelationMapper.selectList(queryWrapper); + Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); + if (orderSampleRelationOptional.isPresent()) { + BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); + if (businessOrderSampleRelation.getSampleStatus().equals(TO_ALLOCATE)) { + BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); + businessOrderSample.setRealDeliverTime(DateUtil.format(new Date(), "yyyy-MM-dd")); + int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); + return updateFlag > 0 ? true : false; + } + } + } + return true; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java index 4f06678..e2fea21 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerAdviceMapper; import com.casic.missiles.mapper.customer.CustomerMapper; @@ -34,7 +35,7 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerAdviceServiceImpl implements CustomerAdviceService { +public class CustomerAdviceServiceImpl implements CustomerAdviceService,PrefixCodeEnum { private final CustomerAdviceMapper customerAdviceMapper; private final IBaseExportService iBaseExportService; @@ -122,7 +123,7 @@ private void initCustomerAdviceInfo(CustomerAdviceInfo customerAdviceInfo) { Long maxNo = customerAdviceMapper.selectMaxAdviceNo(); - String adviceNo = NumberGeneratorUtil.getContactNo("khjy", maxNo); + String adviceNo = NumberGeneratorUtil.getContactNo(CUSTOMER_ADVICE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerAdviceInfo.setCreateUser(authUser.getId()); customerAdviceInfo.setUpdateUser(authUser.getId()); 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 4889e55..f9747dd 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 @@ -10,18 +10,19 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.sample.CertificationExpireStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; import com.casic.missiles.mapper.customer.CustomerMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerSampleListResponseMapper; import com.casic.missiles.mapper.customer.CustomerSampleMapper; -import com.casic.missiles.mapper.customer.customize.MesureRecordsResponseMapper; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -42,13 +43,11 @@ @Service @AllArgsConstructor -public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService { +public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService, CertificationExpireStatusEnum,PrefixCodeEnum{ private final CustomerSampleListResponseMapper customerSampleListResponseMapper; private final CustomerMapper customerMapper; private final IBaseExportService iBaseExportService; - private final CertificationResponseMapper certificationResponseMapper; - private final MesureRecordsResponseMapper mesureResponseMapper; private final BusinessOrderSampleRelationMapper sampleRelationMapper; @Override @@ -58,14 +57,14 @@ customerSamplePage.getRecords() .forEach(customerSample -> { BusinessOrderSampleRelation businessOrderSampleRelation = this.getSampleStatusById(customerSample.getId()); + customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); - customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); } }); for (CustomerSampleListResponse customerSampleListResponse : customerSamplePage.getRecords()) { - if (!StringUtils.isEmpty(customerSampleListResponse.getSampleSatus())) { + if (!StringUtils.isEmpty(customerSampleListResponse.getSampleStatus())) { DictCodeUtils.convertDictCodeToName(customerSampleListResponse); } } @@ -106,14 +105,13 @@ public CustomerSampleInfo sampleDetail(Long id) { CustomerSampleInfo customerSampleInfo = this.baseMapper.selectById(id); if (!ObjectUtils.isEmpty(customerSampleInfo)) { - doCustomerSampleInfoPopulation(customerSampleInfo); + doPopulateCustomerSampleInfo(customerSampleInfo); } return customerSampleInfo; } /** * 只导出样品列表信息 - * */ @Override public void sampleExport(CustomerSampleListRequest request, HttpServletResponse response) { @@ -135,7 +133,7 @@ BusinessOrderSampleRelation businessOrderSampleRelation = businessOrderMap.get(customerSample.getId()); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); } } @@ -159,26 +157,16 @@ } @Override - public Page measureRecordsBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page measureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); + public Page measureRecordsById(CustomerSampleIdRequest customerSampleIdRequest) { + Page page = PageFactory.defaultPage(); + Page measureRecordsResponsePage = this.baseMapper.measureRecordsById(page, customerSampleIdRequest); return measureRecordsResponsePage; } - @Override - public Page certificationBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page certificateResponsePage = certificationResponseMapper.selectPage(page, wrapper); - return certificateResponsePage; - } @Override - public Page samplesByOderId(Page page,Long orderId, String sampleNo, String sampleName) { - return this.baseMapper.samplesByOderId(page,orderId,sampleNo,sampleName); + public Page samplesByOderId(Page page, Long orderId, String sampleNo, String sampleName) { + return this.baseMapper.samplesByOderId(page, orderId, sampleNo, sampleName); } private BusinessOrderSampleRelation getSampleStatusById(Long sampleId) { @@ -190,9 +178,12 @@ return orderSampleOptional.isPresent() ? orderSampleOptional.get() : null; } + /** + * 初始化样品状态 + */ private void initSample(CustomerSampleInfo customerSampleInfo) { Long maxNo = this.baseMapper.selectMaxSampleNo(); - String sampleNo = NumberGeneratorUtil.getContactNo("khyp", maxNo); + String sampleNo = NumberGeneratorUtil.getContactNo(SAMPLE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setSampleNo(sampleNo); customerSampleInfo.setCreateUser(authUser.getId()); @@ -202,7 +193,6 @@ private QueryWrapper listParamWrapper(CustomerSampleListRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.select("id,sample_no,sample_name,sample_model,manufacturing_no,customer_id,measure_period,measure_last_time,remark,valid_deadline"); queryWrapper.like(StringUtils.isNotBlank(request.getSampleNo()), "sample_no", request.getSampleNo()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleName()), "sample_name", request.getSampleName()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleBelong()), "sample_belong", request.getSampleBelong()); @@ -210,9 +200,10 @@ queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); if (!StringUtils.isEmpty(request.getOvertimeStatus())) { - queryWrapper.apply(request.getOvertimeStatus().equals("1"), + queryWrapper.apply("1".equals(request.getOvertimeStatus()), + "sysdate() > DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); - queryWrapper.apply(request.getOvertimeStatus().equals("0"), + queryWrapper.apply("0".equals(request.getOvertimeStatus()), "sysdate() <= DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); } queryWrapper.apply(StringUtils.isNotBlank(request.getStartTime()), @@ -224,24 +215,30 @@ return queryWrapper; } + /** + * 通过证书到期时间进行到期状态的计算 + */ private String calculateCertificationStatus(String validDeadline) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if (StringUtils.isEmpty(validDeadline)) { - return "0"; + return NORMAL; } - if (validDeadline.compareTo(sdf.format(new Date())) > 0) { - return "2"; + if (validDeadline.compareTo(sdf.format(new Date())) < 0) { + return ALREADY_EXPIRE; } Calendar date = Calendar.getInstance(); date.setTime(new Date()); date.add(Calendar.DAY_OF_MONTH, -30); - if (validDeadline.compareTo(sdf.format(date.getTime())) > 0) { - return "1"; + if (validDeadline.compareTo(sdf.format(date.getTime())) < 0) { + return ALMOST_EXPIRE; } - return "0"; + return NORMAL; } - private void doCustomerSampleInfoPopulation(CustomerSampleInfo customerSampleInfo) { + /** + * 对样品列表的进行供应商联系方式的填充 + */ + private void doPopulateCustomerSampleInfo(CustomerSampleInfo customerSampleInfo) { CustomerInfo customerInfo = customerMapper.selectById(customerSampleInfo.getCustomerId()); if (!ObjectUtils.isEmpty(customerInfo)) { customerSampleInfo.setPhone(customerInfo.getPhone()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java index 32d4dee..f6e1f8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java @@ -11,13 +11,12 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerMapper; import com.casic.missiles.mapper.customer.CustomerUserMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerInfoResponseMapper; import com.casic.missiles.mapper.customer.customize.SampleRecordsResponseMapper; import com.casic.missiles.model.customer.CustomerInfo; @@ -38,11 +37,10 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerServiceImpl extends ServiceImpl implements CustomerService { +public class CustomerServiceImpl extends ServiceImpl implements CustomerService,PrefixCodeEnum { private final SampleRecordsResponseMapper sampleRecordsResponseMapper; private final CustomerUserMapper customerUserMapper; - private final CertificationResponseMapper certificationMapper; private final IBaseExportService iBaseExportService; private final CustomerInfoResponseMapper customerInfoResponseMapper; @@ -126,18 +124,9 @@ return contractRecordsResponsePage; } - @Override//暂定不做 - public Page mesureRecordsByCustomerId(Long customerId) { - Page measureRecordsResponsePage = PageFactory.defaultPage(); - return measureRecordsResponsePage; - } - @Override public Page certificationByCustomerId(Long customerId) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("customer_id", customerId); - return certificationMapper.selectPage(page, wrapper); + return null; } @Override @@ -163,8 +152,7 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); - queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "bussiness_size", request.getBusinessSize()); - queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); + queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "business_size", request.getBusinessSize()); queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); queryWrapper.eq("is_del", 0); return queryWrapper; @@ -172,7 +160,7 @@ private void initCustomerInfo(CustomerInfo customerInfo) { Long maxNo = this.baseMapper.selectMaxCustomerNo(); - String customerNo = NumberGeneratorUtil.getContactNo("khxx", maxNo); + String customerNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CUSTOMER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerInfo.setCreateUser(authUser.getId()); customerInfo.setUpdateUser(authUser.getId()); @@ -196,7 +184,7 @@ boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { customerUserInfo.setCustomerId(id); - String customerNo = NumberGeneratorUtil.getContactNo("khyh", maxUserNo++); + String customerNo = NumberGeneratorUtil.getContactNo(CUSTOMER_USER_PREFIX, maxUserNo++); customerUserInfo.setUserNo(customerNo); int userAddNum = customerUserMapper.insert(customerUserInfo); if (userAddNum <= 0) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java index d81a488..77e4caf 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java @@ -13,9 +13,10 @@ import com.casic.missiles.dto.equipment.AcceptanceCheckRequest; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentAcceptanceCheckMapper; @@ -183,7 +184,7 @@ public ReturnDTO addAcceptanceCheck(EquipmentApply equipmentApply) { Long maxNo = equipmentApplyMapper.selectMaxNo(); // 生成编号 - String applyNo = NumberGeneratorUtil.getContactNo("sbjxbyysd", maxNo); + String applyNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.REPAIR_MAINTAIN_PREFIX, maxNo); equipmentApply.setApplyNo(applyNo); // 草稿箱状态 equipmentApply.setApprovalStatus(ApprovalStatusEnum.DRAFT); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java index 38ad4e9..d468012 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java @@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.base.service.IBaseExportService; -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.IdDTO; @@ -20,6 +19,9 @@ import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java index 7c4fdbc..e6a1ff8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.equipment.CheckInfoRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoFileMapper; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoMapper; @@ -79,7 +80,7 @@ @Transactional public ReturnDTO addCheckInfo(EquipmentCheckInfo equipmentCheckInfo) { long maxNo = equipmentCheckInfoMapper.selectMaxNo(); - String checkNo = NumberGeneratorUtil.getContactNo("jc", maxNo); + String checkNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CHECK_PREFIX, maxNo); equipmentCheckInfo.setCheckNo(checkNo); if(equipmentCheckInfoMapper.insert(equipmentCheckInfo) > 0){ Long id = equipmentCheckInfo.getId(); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java index ba6a600..7ff9c16 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.equipment; -import cn.hutool.core.io.unit.DataUnit; import com.alibaba.excel.util.DateUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -13,7 +12,8 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.FixedAssetRequest; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentFixedAssetFileMapper; @@ -131,7 +131,7 @@ validManufacturingNo(meterFixedAssets); //生成资产编号 Long maxNo = meterFixedAssetsMapper.selectMaxNo(); - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); meterFixedAssets.setAssetNo(asset_no); meterFixedAssets.setEquipmentNo(asset_no); meterFixedAssetsMapper.insert(meterFixedAssets); @@ -164,7 +164,7 @@ //需要根据出厂编号判重 validManufacturingNo(item); //生成资产编号 - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); item.setAssetNo(asset_no); item.setEquipmentNo(asset_no); maxNo++; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java index 3e63a5a..2b29aa7 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java @@ -18,6 +18,8 @@ import com.casic.missiles.dto.equipment.StandardEquipmentApplyRequest; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.StandardApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java index caa63a7..afa6905 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java @@ -10,9 +10,9 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.StandardEquipmentRequest; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentFileMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentMapper; -import com.casic.missiles.model.equipment.EquipmentApply; import com.casic.missiles.model.equipment.EquipmentStandardEquipment; import com.casic.missiles.model.equipment.EquipmentStandardEquipmentFile; import com.casic.missiles.model.page.PageQuery; @@ -74,7 +74,7 @@ public ReturnDTO add(EquipmentStandardEquipment meterStandardEquipment) { //生成资产编号 Long maxNo = meterStandardEquipmentMapper.selectMaxNo(); - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); meterStandardEquipment.setStandardNo(standard_no); meterStandardEquipmentMapper.insert(meterStandardEquipment); // 插入文件列表 @@ -129,7 +129,7 @@ } DictCodeUtils.validDictCode(item); //生成资产编号 - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); item.setStandardNo(standard_no); maxNo++; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java index 481cf64..b749b2e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java @@ -2,7 +2,6 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.dto.IdDTO; @@ -12,7 +11,7 @@ import com.casic.missiles.dto.equipment.StateManageResponse; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java index 5dd6f8e..e566e01 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.EquipmentWorkbenchResponse; -import com.casic.missiles.enums.ApplyFromIdEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java index f3b9c4f..485287a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java @@ -6,7 +6,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.system.dao.DeptMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java index ce076b0..c20feb0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java @@ -4,7 +4,6 @@ import cn.hutool.core.lang.Assert; import cn.hutool.core.util.ObjectUtil; import com.alibaba.excel.util.DateUtils; -import com.alibaba.excel.util.StringUtils; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -22,18 +21,18 @@ import com.casic.missiles.dto.meter.MeterCertificateImport; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.enums.*; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterRoleTypeEnum; +import com.casic.missiles.enums.workbench.MessageTypeEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.meter.MeterCertificateExpireMessageMapper; import com.casic.missiles.mapper.meter.MeterCertificateMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.sys.UserInfoMapper; import com.casic.missiles.mapper.workbench.WorkbenchRemindMessageMapper; import com.casic.missiles.model.meter.MeterCertificate; -import com.casic.missiles.model.meter.MeterCertificateExpireMessage; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.model.system.UserInfo; import com.casic.missiles.model.workbench.WorkbenchRemindMessage; -import com.casic.missiles.service.meter.MeterCertificateExpireMessageService; import com.casic.missiles.service.meter.MeterCertificateService; import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; import com.casic.missiles.utils.ExportUtils; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java index ecf1fc3..e84f4d6 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java @@ -17,10 +17,11 @@ import com.casic.missiles.dto.meter.FileApprovalListResponse; import com.casic.missiles.dto.meter.FileListRequest; import com.casic.missiles.dto.meter.FileSaveResponse; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EffectiveStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.EffectiveStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterFileMapper; import com.casic.missiles.model.meter.MeterFile; @@ -92,7 +93,7 @@ public ReturnDTO saveFile(MeterFile file) { //生成文件编号 Long maxNo = meterFileMapper.selectMaxFileNo(); - String fileNo = NumberGeneratorUtil.getContactNo("jlwj", maxNo); + String fileNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FILE_PREFIX, maxNo); file.setFileNo(fileNo); file.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 Assert.isFalse(Objects.isNull(ShiroKit.getUser()), () -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java index 000e58a..467f03d 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java @@ -10,7 +10,8 @@ import com.casic.missiles.dto.meter.ParentDeptRequest; import com.casic.missiles.dto.meter.ParentDeptResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.model.meter.MeterOrganize; @@ -101,7 +102,7 @@ public int addOrganize(Dept dept) { //生成组织编号 Long maxNo = organizeMapper.selectMaxOrganizeNo(); - String organizeNo = NumberGeneratorUtil.getContactNo("jlzz", maxNo); + String organizeNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.ORGANIZE_PREFIX, maxNo); MeterOrganize meterOrganize = new MeterOrganize(); meterOrganize.setDeptId(dept.getId()); meterOrganize.setPDeptId(dept.getPid()); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java new file mode 100644 index 0000000..e196dda --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Builder; +import lombok.Data; + +/** + * @author cz + */ +@Data +@Builder +public class NotifyEventStatusDTO { + + /** + * 业务表主键 + */ + private String id; + /** + * 业务表状态 + */ + private String status; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java index 65c19e3..0f3e84f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java @@ -74,7 +74,7 @@ /** * 部门/科室/工程组名称 */ - @ExcelProperty("组织编号") + @ExcelProperty("组织名称") @ApiModelProperty(value = "计量组织名称", dataType = "String", required = true) @NotBlank(message = "计量组织名称不能为空") @TableField("organize_name") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java index 54dc5cd..244e431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java @@ -84,7 +84,7 @@ * 签名用户id(一个用户一个签名,签名不使用关联表,签章暂时使用和使用人的关联表) */ @TableField("sign_user_id") - private String signUserId; + private Long signUserId; /** * 签章或签名-字典code diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java index ca20ca4..0e94b9e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 2f97cb3..fdc4bf0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -3,7 +3,6 @@ import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -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; @@ -17,9 +16,10 @@ import com.casic.missiles.dto.flowable.ApprovalAgreeRequest; import com.casic.missiles.dto.flowable.ApprovalRefuseRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -42,10 +42,9 @@ */ @Service @AllArgsConstructor -public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { +public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService, CertificatePrintStatusEnum { private final IBaseApprovalService baseApprovalService; - private final AbstractDictService dictService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; @@ -86,7 +85,7 @@ } /** - * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 * * @return */ @@ -103,7 +102,7 @@ BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); //设置为不能打印 - certificateReport.setPrintStatus("2"); + certificateReport.setPrintStatus(NON_PRINTABLE); certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { @@ -113,7 +112,7 @@ } /** - * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 */ @Transactional @Override @@ -128,7 +127,7 @@ //审批状态为审批中 certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //打印状态审批中 - certificateReport.setPrintStatus("3"); + certificateReport.setPrintStatus(IN_APPROVAL); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -142,7 +141,7 @@ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)&&CollectionUtils.isEmpty(request.getIds())) { - handlerBeApproved(approvalList, page, request); + approvalList=handlerBeApproved(approvalList, page, request); }else { approvalList=this.baseMapper.selectBatchForApprovalList(page, request, null); } 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 d03ab22..164c53a 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,17 +7,22 @@ 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.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; -import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +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.MonitorCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -26,9 +31,9 @@ import com.casic.missiles.service.business.IBusinessCertificateReportService; import com.casic.missiles.service.business.IBusinessOriginalRecordService; import com.casic.missiles.service.flowable.ApprovalOperateService; -import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; +import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.runtime.ProcessInstance; @@ -68,8 +73,10 @@ private RuntimeService runtimeService; @Resource private IBaseExportService iBaseExportService; + /** * 保存证书报告信息 + * * @param certificateReport * @return */ @@ -77,7 +84,7 @@ public ReturnDTO saveCertificateReport(BusinessCertificateReport certificateReport) { initCertificateReport(certificateReport); - if(this.baseMapper.insert(certificateReport)>0) + if (this.baseMapper.insert(certificateReport) > 0) return ReturnUtil.success(); throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -90,9 +97,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //删除数据库记录 - if(this.baseMapper.deleteById(request.getId()) > 0){ + if (this.baseMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -101,7 +108,7 @@ @Override public ReturnDTO draftUpdate(BusinessCertificateReport certificateReport) { - if(this.baseMapper.updateById(certificateReport)>0){ + if (this.baseMapper.updateById(certificateReport) > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -109,25 +116,27 @@ /** * 批量删除 + * * @param ids * @return */ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - return baseMapper.deleteBatchIds(ids) > 0?ReturnUtil.success(): + return baseMapper.deleteBatchIds(ids) > 0 ? ReturnUtil.success() : ReturnUtil.failed("删除失败"); } /** * 证书报告详情 + * * @param id * @return */ @Override public BusinessCertificateReport certificateReportDetail(Long id) { BusinessCertificateReport certificateReport = this.baseMapper.selectById(id); - if(certificateReport.getOriginalRecordId()!=null){ + if (certificateReport.getOriginalRecordId() != null) { try { certificateReport.setBusinessOriginalRecord(originalRecordService.originalDetail(certificateReport.getOriginalRecordId())); } catch (Exception e) { @@ -139,6 +148,7 @@ /** * 提交证书报告 + * * @param request * @return */ @@ -148,10 +158,10 @@ String formId = request.getFormId(); //2.根据流程定义id启动流程实例 ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); certificateReport.setApprovalStatus(ApprovalStatusEnum.UN_DRAFT); //非草稿状态 @@ -165,6 +175,7 @@ /** * 审批状态列表查询 + * * @param page * @param request * @return @@ -182,6 +193,7 @@ /** * 驳回后更新 + * * @param certificateReport * @return */ @@ -208,13 +220,14 @@ @Override public void originExport(CertificateReportApprovalRequest request, HttpServletResponse response) { try { - //toDo: -// List certificateReportResponses = this.certificateReport(request); -// for (OriginRecordResponse originRecordResponse : originExportList) { -// //字典值转换 -// DictCodeUtils.convertDictCodeToName(originRecordResponse); -// } -// iBaseExportService.exportExcel(response, CertificateReportResponse.class, originExportList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); + //登录用户 + AuthUser user = ShiroKit.getUser(); + Assert.isFalse(Objects.isNull(user), () -> { + throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); + }); + request.setCreateUserId(user.getId()); + List reportResponseList = handleApprovalStatus(null, request); + iBaseExportService.exportExcel(response, CertificateReportResponse.class, reportResponseList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); } catch (Exception e) { log.error("证书报告导出出现异常,异常信息为{}", e); } @@ -231,15 +244,15 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -251,27 +264,27 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ - approvalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); + if (!CollectionUtils.isEmpty(businessKeys)) { + approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ - rejectApprovalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { + rejectApprovalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -279,7 +292,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.CANCELED); } break; @@ -288,10 +301,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleAllApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), AllApproveList); } break; @@ -299,9 +312,26 @@ return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List allApproveList) { - Map taskMap = new HashMap<>(); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + /** + * 客户、样品详情列表 + */ + @Override + public Page certificateRecordsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception { + Page page = PageFactory.defaultPage(); + Page certificateResponsePage = this.baseMapper.certificateRecordsById(page, customerSampleIdRequest); + for (CertificationResponse customerSampleListResponse : certificateResponsePage.getRecords()) { + if (!StringUtils.isEmpty(customerSampleListResponse.getCertificationClass())) { + DictCodeUtils.convertDictMultiCodeToName(customerSampleListResponse); + } + } + return certificateResponsePage; + } + + private List handleAllApprovalListResponse(List approvalList, List allApproveList) { + Map taskMap = new HashMap<>(); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -313,7 +343,7 @@ return approvalList.stream().sorted(Comparator.comparing(CertificateReportResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, String status){ + private List handleApprovalListResponse(List approvalList, String status) { approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); @@ -324,14 +354,14 @@ private void initCertificateReport(BusinessCertificateReport certificateReport) { String prefix = MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue() - +DateUtil.format(new Date(),"YYYYMM"); + + DateUtil.format(new Date(), "YYYYMM"); Long maxNo = this.baseMapper.selectMaxCode(prefix); //生成证书编号 - String certificateReportNo =NumberGeneratorUtil.getCode( - MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(),maxNo); + String certificateReportNo = NumberGeneratorUtil.getCode( + MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(), maxNo); AuthUser authUser = ShiroKit.getUser(); certificateReport.setCreateUser(authUser.getId()); - certificateReport.setMeasurePersonId(authUser.getId()+""); + certificateReport.setMeasurePersonId(authUser.getId() + ""); certificateReport.setMeasureDeptId(authUser.getDeptId()); certificateReport.setCertificateReportCode(certificateReportNo); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index c4ed5f6..5456773 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -12,13 +12,12 @@ import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; import com.casic.missiles.mapper.business.EnvironmentListResponseMapper; import com.casic.missiles.model.business.BusinessEnvironmentRecord; -import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 859010b..0d847a0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessInterchangeMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; @@ -35,7 +36,7 @@ * 业务管理-设备交接单 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @@ -83,7 +84,7 @@ } /** - * 更新不对样品有任何操作 + * 更新只是交接单的变更,没有任何其他单位的变化 */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { @@ -94,6 +95,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 交接单新增,同时在样品委托书管理表中新增交接单记录id + */ @Override @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { @@ -111,6 +115,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 选中判断ids存在,进行其他条件的清空 + */ @Override public void exportExchange(InterchangeListRequest request, HttpServletResponse response) { try { @@ -153,7 +160,7 @@ private void populationExchange(BusinessInterchange businessInterchange) { Long maxNo = this.baseMapper.selectMaxExchangeNo(); - String orderNo = NumberGeneratorUtil.getContactNo("jjdh", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.INTER_CHANGE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessInterchange.setCreateUser(authUser.getId()); businessInterchange.setInterchangeCode(orderNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java index 585a207..955cc7a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java @@ -13,19 +13,18 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.*; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.HandOutPropertyEnum; -import com.casic.missiles.enums.MeasureStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.HandOutPropertyEnum; +import com.casic.missiles.enums.business.MeasureStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.*; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; -import com.casic.missiles.model.business.BusinessLabExecutiveInfo; -import com.casic.missiles.model.business.BusinessLabExecutiveOperateLog; -import com.casic.missiles.model.business.BusinessLabExecutiveTemplateInfo; +import com.casic.missiles.model.business.*; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; import com.casic.missiles.service.business.IBusinessLabExecutiveTemplateInfoService; @@ -71,6 +70,8 @@ private AbstractDictService dictService; @Autowired private MeterStaffMapper staffMapper; + @Autowired + private BusinessOrderMapper orderMapper; @Override public Page handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) throws Exception{ @@ -377,7 +378,9 @@ if(CollectionUtils.isEmpty(unExecutiveInfos)){ //更新样品状态为检测完 orderSampleRelationMapper.updateByOrderIdAndSampleId(pre.getOrderId(), pre.getSampleId(), SampleStatusEnum.MEASURE_COMPLETE); - // TODO: 2023/2/17 委托书中所有样品检测完更新委托书接收状态为检测完成,需求待定 + + //委托书中所有样品检测完更新委托书接收状态为检测完成,未检测完的数量为0则表示全部检完 + updateOrderStatusComplete(pre); //将检测记录加入到实验室检测模板(仅全部为检测完成的才加入到模板,包含终止的不会加入) List labList = new ArrayList<>(); @@ -407,9 +410,27 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + @Transactional + public void updateOrderStatusComplete(SampleOperateRequest pre) { + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("order_id", pre.getOrderId()); + List statusList = new ArrayList<>(); + statusList.add(SampleStatusEnum.TO_RECEIVE); + statusList.add(SampleStatusEnum.TO_HANDOUT); + statusList.add(SampleStatusEnum.IN_MEASURE); + wrapper1.in("sample_status", statusList); + //同一事务中可查到更新后的数量 + if(orderSampleRelationMapper.selectCount(wrapper1) == 0){ + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(pre.getOrderId()); + businessOrder.setStatus(OrderStatusEnum.COMPLETE); + orderMapper.updateById(businessOrder); + } + } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + String templateCode = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.LAB_EXECUTIVE_TEMPLATE_PREFIX, maxNo + i); templateInfo.setTemplateCode(templateCode); // templateInfo.setSampleTypeId(); templateInfo.setSampleId(lab.getSampleId()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index f5c6f61..1d63554 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -14,6 +14,10 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; +import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; @@ -35,7 +39,6 @@ import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -45,12 +48,12 @@ * 业务管理-委托书 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @AllArgsConstructor -public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { +public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService,PrefixCodeEnum, OrderStatusEnum,SampleStatusEnum, MeasureTypeEnum { private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; @@ -90,8 +93,10 @@ List customerSampleList = new ArrayList<>(); for (BusinessOrderSampleRelation orderSample : orderSampleList) { CustomerSampleInfo customerSampleInfo = customerSampleService.sampleDetail(orderSample.getSampleId()); - customerSampleInfo.setIsExistSample("1"); - customerSampleList.add(customerSampleInfo); + if (null != customerSampleInfo) { + customerSampleInfo.setIsExistSample("1"); + customerSampleList.add(customerSampleInfo); + } } businessOrder.setCustomerSampleInfoList(customerSampleList); return businessOrder; @@ -202,7 +207,13 @@ @Override public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); - String dealType = "委托书" + ((status.equals("2")) ? "接收" : "退回"); + String dealType = ""; + if (status.equals(ALREADY_RECEIVED)) { + dealType = "委托书接收" ; + doUpdateSampleStatus(orderCancelRequest.getId(),TO_RECEIVE); + } else { + dealType = "委托书退回"; + } int addDealRecordFlag = addDealRecord(orderCancelRequest, dealType); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -216,7 +227,7 @@ @Override @Transactional public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { - int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), ALREADY_CANCEL); int addDealRecordFlag = addDealRecord(orderCancelRequest, "委托书取消"); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -250,6 +261,7 @@ return dealRecordMapper.insert(businessDealRecord); } + /** * 强调正在做状态更新 */ @@ -280,12 +292,12 @@ private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); - String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(ORDER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); - businessOrder.setStatus("1"); + businessOrder.setStatus(NOT_RECEIVED); } /** @@ -320,10 +332,23 @@ sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); - sampleStatusPopulation.setMeasureType("1"); + sampleStatusPopulation.setMeasureType(INSIDE_MEASURE); return this.sampleRelationMapper.insert(sampleStatusPopulation); } + /** + * 强调正在做状态更新 + */ + private int doUpdateSampleStatus(Long orderId, String sampleStatus) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", orderId); + BusinessOrderSampleRelation orderSample = new BusinessOrderSampleRelation(); + orderSample.setId(orderId); + orderSample.setSampleStatus(sampleStatus); + return this.sampleRelationMapper.update(orderSample, queryWrapper); + } + + private void doSampleListPopulation(BusinessOrder businessOrder) { businessOrder.getCustomerSampleInfoList().forEach( customerSampleInfo -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java index 1e35b7a..1c602b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java @@ -131,7 +131,7 @@ @Override public ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord) { - if (this.baseMapper.insert(businessOriginalRecord) > 0) { + if (this.baseMapper.updateById(businessOriginalRecord) > 0) { //加入技术文件绑定 if (ObjectUtil.isNotEmpty(businessOriginalRecord.getFileList()) && businessOriginalRecord.getFileList().size() > 0) { originalRecordFileRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getFileList()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java index 07c88e9..c9c1902 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.date.DateUtil; import com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -14,6 +15,7 @@ import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; @@ -29,6 +31,7 @@ import org.springframework.util.ObjectUtils; import javax.servlet.http.HttpServletResponse; +import java.util.Date; import java.util.List; import java.util.Objects; import java.util.Optional; @@ -39,7 +42,7 @@ @Service @Slf4j @AllArgsConstructor -public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService { +public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService, SampleStatusEnum, CurrentSegmentEnum, MeasureTypeEnum { private final BusinessOrderSampleRelationMapper orderSampleRelationMapper; private final BusinessCertificateReportMapper certificateReportMapper; @@ -73,20 +76,20 @@ Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.TO_HANDOUT: + case TO_HANDOUT: //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 - case SampleStatusEnum.IN_MEASURE: + case IN_MEASURE: //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.MEASURE_COMPLETE: + case MEASURE_COMPLETE: doDispatchVoPopulation(dispatchVO, sampleId, orderId); return; //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 - case SampleStatusEnum.BE_OVERDUE: + case BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); @@ -126,12 +129,14 @@ /** - * 状态更新 + * 根据sampleId,orderId,进行状态更新 */ @Override + @Transactional public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { + boolean beforeEventFlag = beforeStatusChange(deviceStatusChangeDTO); Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFlag > 0) { + if (updateFlag > 0 && beforeEventFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -181,8 +186,9 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); +// queryWrapper.ne("order_id", deviceStatusChangeDTO.getOrderId()); BusinessLabExecutiveInfo businessLabExecutiveInfo = new BusinessLabExecutiveInfo(); - businessLabExecutiveInfo.setMeasureStatus(deviceStatusChangeDTO.getStatus()); +// businessLabExecutiveInfo.setMeasureStatus(); businessLabExecutiveInfo.setRemark(deviceStatusChangeDTO.getReason()); labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } @@ -214,6 +220,9 @@ return handOutLabExecutiveDTOOptional.orElse(null); } + /** + * 构建证书的查询条件 + */ private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("order_id", dispatchVO.getOrderId()); @@ -230,7 +239,8 @@ queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); if (terminateFlag) { - queryWrapper.eq("sample_status", "2").or().eq("sample_status", "3").or().eq("sample_status", "4"); + //若是终止,需要对应待分发、检测中、检测完三个状态的变更 + queryWrapper.eq("sample_status", TO_HANDOUT).or().eq("sample_status", IN_MEASURE).or().eq("sample_status", MEASURE_COMPLETE); } BusinessOrderSampleRelation businessOrderSampleRelation = new BusinessOrderSampleRelation(); businessOrderSampleRelation.setSampleStatus(statusChangeDTO.getStatus()); @@ -238,12 +248,12 @@ } /** - * 判断不是自检 + * 判断不是自检,即外包和外检,进行环节设定 */ private boolean notSelfMeasure(DeviceDispatchVO dispatchVO) { if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType())) { - if (MeasureStatusEnum.TO_ALLOCATE.equals(String.valueOf(dispatchVO.getMeasureType())) || MeasureStatusEnum.TO_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { - String currentSegment = MeasureStatusEnum.TO_ALLOCATE.equals(dispatchVO.getMeasureType()) ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; + if (OTHERS_UNDERTAKE.equals(String.valueOf(dispatchVO.getMeasureType())) || OUTSIDE_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { + String currentSegment = OTHERS_UNDERTAKE.equals(dispatchVO.getMeasureType()) ? OUT_UNDERTAKE : OUT_MESASUR; dispatchVO.setCurrentSegment(currentSegment); return true; } @@ -251,6 +261,9 @@ return false; } + /** + * 其他条件的置为空 + */ private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { request.setSampleName(null); request.setSampleNo(null); @@ -264,18 +277,38 @@ } /** - * 判断样品是完成或接收状态,直接显示即可 + * 判断样品是完成或接收状态,进行当前阶段环节的设置 */ private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { - if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + if (TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_INCOME); return true; } - if (SampleStatusEnum.TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); + if (TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_ALLOCATE); return true; } return false; } + private boolean beforeStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(TO_INCOME)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + List orderSampleRelationList = this.orderSampleRelationMapper.selectList(queryWrapper); + Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); + if (orderSampleRelationOptional.isPresent()) { + BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); + if (businessOrderSampleRelation.getSampleStatus().equals(TO_ALLOCATE)) { + BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); + businessOrderSample.setRealDeliverTime(DateUtil.format(new Date(), "yyyy-MM-dd")); + int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); + return updateFlag > 0 ? true : false; + } + } + } + return true; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java index 4f06678..e2fea21 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerAdviceMapper; import com.casic.missiles.mapper.customer.CustomerMapper; @@ -34,7 +35,7 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerAdviceServiceImpl implements CustomerAdviceService { +public class CustomerAdviceServiceImpl implements CustomerAdviceService,PrefixCodeEnum { private final CustomerAdviceMapper customerAdviceMapper; private final IBaseExportService iBaseExportService; @@ -122,7 +123,7 @@ private void initCustomerAdviceInfo(CustomerAdviceInfo customerAdviceInfo) { Long maxNo = customerAdviceMapper.selectMaxAdviceNo(); - String adviceNo = NumberGeneratorUtil.getContactNo("khjy", maxNo); + String adviceNo = NumberGeneratorUtil.getContactNo(CUSTOMER_ADVICE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerAdviceInfo.setCreateUser(authUser.getId()); customerAdviceInfo.setUpdateUser(authUser.getId()); 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 4889e55..f9747dd 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 @@ -10,18 +10,19 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.sample.CertificationExpireStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; import com.casic.missiles.mapper.customer.CustomerMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerSampleListResponseMapper; import com.casic.missiles.mapper.customer.CustomerSampleMapper; -import com.casic.missiles.mapper.customer.customize.MesureRecordsResponseMapper; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -42,13 +43,11 @@ @Service @AllArgsConstructor -public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService { +public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService, CertificationExpireStatusEnum,PrefixCodeEnum{ private final CustomerSampleListResponseMapper customerSampleListResponseMapper; private final CustomerMapper customerMapper; private final IBaseExportService iBaseExportService; - private final CertificationResponseMapper certificationResponseMapper; - private final MesureRecordsResponseMapper mesureResponseMapper; private final BusinessOrderSampleRelationMapper sampleRelationMapper; @Override @@ -58,14 +57,14 @@ customerSamplePage.getRecords() .forEach(customerSample -> { BusinessOrderSampleRelation businessOrderSampleRelation = this.getSampleStatusById(customerSample.getId()); + customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); - customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); } }); for (CustomerSampleListResponse customerSampleListResponse : customerSamplePage.getRecords()) { - if (!StringUtils.isEmpty(customerSampleListResponse.getSampleSatus())) { + if (!StringUtils.isEmpty(customerSampleListResponse.getSampleStatus())) { DictCodeUtils.convertDictCodeToName(customerSampleListResponse); } } @@ -106,14 +105,13 @@ public CustomerSampleInfo sampleDetail(Long id) { CustomerSampleInfo customerSampleInfo = this.baseMapper.selectById(id); if (!ObjectUtils.isEmpty(customerSampleInfo)) { - doCustomerSampleInfoPopulation(customerSampleInfo); + doPopulateCustomerSampleInfo(customerSampleInfo); } return customerSampleInfo; } /** * 只导出样品列表信息 - * */ @Override public void sampleExport(CustomerSampleListRequest request, HttpServletResponse response) { @@ -135,7 +133,7 @@ BusinessOrderSampleRelation businessOrderSampleRelation = businessOrderMap.get(customerSample.getId()); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); } } @@ -159,26 +157,16 @@ } @Override - public Page measureRecordsBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page measureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); + public Page measureRecordsById(CustomerSampleIdRequest customerSampleIdRequest) { + Page page = PageFactory.defaultPage(); + Page measureRecordsResponsePage = this.baseMapper.measureRecordsById(page, customerSampleIdRequest); return measureRecordsResponsePage; } - @Override - public Page certificationBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page certificateResponsePage = certificationResponseMapper.selectPage(page, wrapper); - return certificateResponsePage; - } @Override - public Page samplesByOderId(Page page,Long orderId, String sampleNo, String sampleName) { - return this.baseMapper.samplesByOderId(page,orderId,sampleNo,sampleName); + public Page samplesByOderId(Page page, Long orderId, String sampleNo, String sampleName) { + return this.baseMapper.samplesByOderId(page, orderId, sampleNo, sampleName); } private BusinessOrderSampleRelation getSampleStatusById(Long sampleId) { @@ -190,9 +178,12 @@ return orderSampleOptional.isPresent() ? orderSampleOptional.get() : null; } + /** + * 初始化样品状态 + */ private void initSample(CustomerSampleInfo customerSampleInfo) { Long maxNo = this.baseMapper.selectMaxSampleNo(); - String sampleNo = NumberGeneratorUtil.getContactNo("khyp", maxNo); + String sampleNo = NumberGeneratorUtil.getContactNo(SAMPLE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setSampleNo(sampleNo); customerSampleInfo.setCreateUser(authUser.getId()); @@ -202,7 +193,6 @@ private QueryWrapper listParamWrapper(CustomerSampleListRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.select("id,sample_no,sample_name,sample_model,manufacturing_no,customer_id,measure_period,measure_last_time,remark,valid_deadline"); queryWrapper.like(StringUtils.isNotBlank(request.getSampleNo()), "sample_no", request.getSampleNo()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleName()), "sample_name", request.getSampleName()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleBelong()), "sample_belong", request.getSampleBelong()); @@ -210,9 +200,10 @@ queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); if (!StringUtils.isEmpty(request.getOvertimeStatus())) { - queryWrapper.apply(request.getOvertimeStatus().equals("1"), + queryWrapper.apply("1".equals(request.getOvertimeStatus()), + "sysdate() > DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); - queryWrapper.apply(request.getOvertimeStatus().equals("0"), + queryWrapper.apply("0".equals(request.getOvertimeStatus()), "sysdate() <= DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); } queryWrapper.apply(StringUtils.isNotBlank(request.getStartTime()), @@ -224,24 +215,30 @@ return queryWrapper; } + /** + * 通过证书到期时间进行到期状态的计算 + */ private String calculateCertificationStatus(String validDeadline) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if (StringUtils.isEmpty(validDeadline)) { - return "0"; + return NORMAL; } - if (validDeadline.compareTo(sdf.format(new Date())) > 0) { - return "2"; + if (validDeadline.compareTo(sdf.format(new Date())) < 0) { + return ALREADY_EXPIRE; } Calendar date = Calendar.getInstance(); date.setTime(new Date()); date.add(Calendar.DAY_OF_MONTH, -30); - if (validDeadline.compareTo(sdf.format(date.getTime())) > 0) { - return "1"; + if (validDeadline.compareTo(sdf.format(date.getTime())) < 0) { + return ALMOST_EXPIRE; } - return "0"; + return NORMAL; } - private void doCustomerSampleInfoPopulation(CustomerSampleInfo customerSampleInfo) { + /** + * 对样品列表的进行供应商联系方式的填充 + */ + private void doPopulateCustomerSampleInfo(CustomerSampleInfo customerSampleInfo) { CustomerInfo customerInfo = customerMapper.selectById(customerSampleInfo.getCustomerId()); if (!ObjectUtils.isEmpty(customerInfo)) { customerSampleInfo.setPhone(customerInfo.getPhone()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java index 32d4dee..f6e1f8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java @@ -11,13 +11,12 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerMapper; import com.casic.missiles.mapper.customer.CustomerUserMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerInfoResponseMapper; import com.casic.missiles.mapper.customer.customize.SampleRecordsResponseMapper; import com.casic.missiles.model.customer.CustomerInfo; @@ -38,11 +37,10 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerServiceImpl extends ServiceImpl implements CustomerService { +public class CustomerServiceImpl extends ServiceImpl implements CustomerService,PrefixCodeEnum { private final SampleRecordsResponseMapper sampleRecordsResponseMapper; private final CustomerUserMapper customerUserMapper; - private final CertificationResponseMapper certificationMapper; private final IBaseExportService iBaseExportService; private final CustomerInfoResponseMapper customerInfoResponseMapper; @@ -126,18 +124,9 @@ return contractRecordsResponsePage; } - @Override//暂定不做 - public Page mesureRecordsByCustomerId(Long customerId) { - Page measureRecordsResponsePage = PageFactory.defaultPage(); - return measureRecordsResponsePage; - } - @Override public Page certificationByCustomerId(Long customerId) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("customer_id", customerId); - return certificationMapper.selectPage(page, wrapper); + return null; } @Override @@ -163,8 +152,7 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); - queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "bussiness_size", request.getBusinessSize()); - queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); + queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "business_size", request.getBusinessSize()); queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); queryWrapper.eq("is_del", 0); return queryWrapper; @@ -172,7 +160,7 @@ private void initCustomerInfo(CustomerInfo customerInfo) { Long maxNo = this.baseMapper.selectMaxCustomerNo(); - String customerNo = NumberGeneratorUtil.getContactNo("khxx", maxNo); + String customerNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CUSTOMER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerInfo.setCreateUser(authUser.getId()); customerInfo.setUpdateUser(authUser.getId()); @@ -196,7 +184,7 @@ boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { customerUserInfo.setCustomerId(id); - String customerNo = NumberGeneratorUtil.getContactNo("khyh", maxUserNo++); + String customerNo = NumberGeneratorUtil.getContactNo(CUSTOMER_USER_PREFIX, maxUserNo++); customerUserInfo.setUserNo(customerNo); int userAddNum = customerUserMapper.insert(customerUserInfo); if (userAddNum <= 0) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java index d81a488..77e4caf 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java @@ -13,9 +13,10 @@ import com.casic.missiles.dto.equipment.AcceptanceCheckRequest; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentAcceptanceCheckMapper; @@ -183,7 +184,7 @@ public ReturnDTO addAcceptanceCheck(EquipmentApply equipmentApply) { Long maxNo = equipmentApplyMapper.selectMaxNo(); // 生成编号 - String applyNo = NumberGeneratorUtil.getContactNo("sbjxbyysd", maxNo); + String applyNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.REPAIR_MAINTAIN_PREFIX, maxNo); equipmentApply.setApplyNo(applyNo); // 草稿箱状态 equipmentApply.setApprovalStatus(ApprovalStatusEnum.DRAFT); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java index 38ad4e9..d468012 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java @@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.base.service.IBaseExportService; -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.IdDTO; @@ -20,6 +19,9 @@ import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java index 7c4fdbc..e6a1ff8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.equipment.CheckInfoRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoFileMapper; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoMapper; @@ -79,7 +80,7 @@ @Transactional public ReturnDTO addCheckInfo(EquipmentCheckInfo equipmentCheckInfo) { long maxNo = equipmentCheckInfoMapper.selectMaxNo(); - String checkNo = NumberGeneratorUtil.getContactNo("jc", maxNo); + String checkNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CHECK_PREFIX, maxNo); equipmentCheckInfo.setCheckNo(checkNo); if(equipmentCheckInfoMapper.insert(equipmentCheckInfo) > 0){ Long id = equipmentCheckInfo.getId(); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java index ba6a600..7ff9c16 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.equipment; -import cn.hutool.core.io.unit.DataUnit; import com.alibaba.excel.util.DateUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -13,7 +12,8 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.FixedAssetRequest; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentFixedAssetFileMapper; @@ -131,7 +131,7 @@ validManufacturingNo(meterFixedAssets); //生成资产编号 Long maxNo = meterFixedAssetsMapper.selectMaxNo(); - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); meterFixedAssets.setAssetNo(asset_no); meterFixedAssets.setEquipmentNo(asset_no); meterFixedAssetsMapper.insert(meterFixedAssets); @@ -164,7 +164,7 @@ //需要根据出厂编号判重 validManufacturingNo(item); //生成资产编号 - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); item.setAssetNo(asset_no); item.setEquipmentNo(asset_no); maxNo++; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java index 3e63a5a..2b29aa7 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java @@ -18,6 +18,8 @@ import com.casic.missiles.dto.equipment.StandardEquipmentApplyRequest; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.StandardApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java index caa63a7..afa6905 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java @@ -10,9 +10,9 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.StandardEquipmentRequest; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentFileMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentMapper; -import com.casic.missiles.model.equipment.EquipmentApply; import com.casic.missiles.model.equipment.EquipmentStandardEquipment; import com.casic.missiles.model.equipment.EquipmentStandardEquipmentFile; import com.casic.missiles.model.page.PageQuery; @@ -74,7 +74,7 @@ public ReturnDTO add(EquipmentStandardEquipment meterStandardEquipment) { //生成资产编号 Long maxNo = meterStandardEquipmentMapper.selectMaxNo(); - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); meterStandardEquipment.setStandardNo(standard_no); meterStandardEquipmentMapper.insert(meterStandardEquipment); // 插入文件列表 @@ -129,7 +129,7 @@ } DictCodeUtils.validDictCode(item); //生成资产编号 - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); item.setStandardNo(standard_no); maxNo++; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java index 481cf64..b749b2e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java @@ -2,7 +2,6 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.dto.IdDTO; @@ -12,7 +11,7 @@ import com.casic.missiles.dto.equipment.StateManageResponse; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java index 5dd6f8e..e566e01 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.EquipmentWorkbenchResponse; -import com.casic.missiles.enums.ApplyFromIdEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java index f3b9c4f..485287a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java @@ -6,7 +6,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.system.dao.DeptMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java index ce076b0..c20feb0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java @@ -4,7 +4,6 @@ import cn.hutool.core.lang.Assert; import cn.hutool.core.util.ObjectUtil; import com.alibaba.excel.util.DateUtils; -import com.alibaba.excel.util.StringUtils; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -22,18 +21,18 @@ import com.casic.missiles.dto.meter.MeterCertificateImport; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.enums.*; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterRoleTypeEnum; +import com.casic.missiles.enums.workbench.MessageTypeEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.meter.MeterCertificateExpireMessageMapper; import com.casic.missiles.mapper.meter.MeterCertificateMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.sys.UserInfoMapper; import com.casic.missiles.mapper.workbench.WorkbenchRemindMessageMapper; import com.casic.missiles.model.meter.MeterCertificate; -import com.casic.missiles.model.meter.MeterCertificateExpireMessage; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.model.system.UserInfo; import com.casic.missiles.model.workbench.WorkbenchRemindMessage; -import com.casic.missiles.service.meter.MeterCertificateExpireMessageService; import com.casic.missiles.service.meter.MeterCertificateService; import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; import com.casic.missiles.utils.ExportUtils; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java index ecf1fc3..e84f4d6 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java @@ -17,10 +17,11 @@ import com.casic.missiles.dto.meter.FileApprovalListResponse; import com.casic.missiles.dto.meter.FileListRequest; import com.casic.missiles.dto.meter.FileSaveResponse; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EffectiveStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.EffectiveStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterFileMapper; import com.casic.missiles.model.meter.MeterFile; @@ -92,7 +93,7 @@ public ReturnDTO saveFile(MeterFile file) { //生成文件编号 Long maxNo = meterFileMapper.selectMaxFileNo(); - String fileNo = NumberGeneratorUtil.getContactNo("jlwj", maxNo); + String fileNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FILE_PREFIX, maxNo); file.setFileNo(fileNo); file.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 Assert.isFalse(Objects.isNull(ShiroKit.getUser()), () -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java index 000e58a..467f03d 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java @@ -10,7 +10,8 @@ import com.casic.missiles.dto.meter.ParentDeptRequest; import com.casic.missiles.dto.meter.ParentDeptResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.model.meter.MeterOrganize; @@ -101,7 +102,7 @@ public int addOrganize(Dept dept) { //生成组织编号 Long maxNo = organizeMapper.selectMaxOrganizeNo(); - String organizeNo = NumberGeneratorUtil.getContactNo("jlzz", maxNo); + String organizeNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.ORGANIZE_PREFIX, maxNo); MeterOrganize meterOrganize = new MeterOrganize(); meterOrganize.setDeptId(dept.getId()); meterOrganize.setPDeptId(dept.getPid()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java index 7c3f9cf..643ba4c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java @@ -13,7 +13,8 @@ import com.casic.missiles.dto.meter.MeterPriceRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterPriceCategoryMapper; import com.casic.missiles.mapper.meter.MeterPriceItemMapper; @@ -83,7 +84,7 @@ MeterPriceItem item = new MeterPriceItem(null,priceCategory.getId(),meterPrice.getItemName()); if(categoryFlag>0 && meterPriceItemMapper.insert(item)>0){ Long maxNo = meterPriceMapper.getMaxNo(); - String priceNo = NumberGeneratorUtil.getContactNo("jg", maxNo); + String priceNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.PRICE_PREFIX, maxNo); meterPrice.setPriceNo(priceNo); meterPrice.setPriceType(priceCategory.getId().toString()); meterPrice.setPriceItem(item.getId().toString()); @@ -178,7 +179,7 @@ // 校验通过 AtomicLong maxNo = new AtomicLong(meterPriceMapper.getMaxNo()); list.forEach(bean->{ - String priceNo = NumberGeneratorUtil.getContactNo("jg", maxNo.get()); + String priceNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.PRICE_PREFIX, maxNo.get()); maxNo.set(Long.parseLong(priceNo.substring(2))); Long id= IdWorker.getId(); bean.setId(id); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java new file mode 100644 index 0000000..e196dda --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Builder; +import lombok.Data; + +/** + * @author cz + */ +@Data +@Builder +public class NotifyEventStatusDTO { + + /** + * 业务表主键 + */ + private String id; + /** + * 业务表状态 + */ + private String status; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java index 65c19e3..0f3e84f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java @@ -74,7 +74,7 @@ /** * 部门/科室/工程组名称 */ - @ExcelProperty("组织编号") + @ExcelProperty("组织名称") @ApiModelProperty(value = "计量组织名称", dataType = "String", required = true) @NotBlank(message = "计量组织名称不能为空") @TableField("organize_name") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java index 54dc5cd..244e431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java @@ -84,7 +84,7 @@ * 签名用户id(一个用户一个签名,签名不使用关联表,签章暂时使用和使用人的关联表) */ @TableField("sign_user_id") - private String signUserId; + private Long signUserId; /** * 签章或签名-字典code diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java index ca20ca4..0e94b9e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 2f97cb3..fdc4bf0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -3,7 +3,6 @@ import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -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; @@ -17,9 +16,10 @@ import com.casic.missiles.dto.flowable.ApprovalAgreeRequest; import com.casic.missiles.dto.flowable.ApprovalRefuseRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -42,10 +42,9 @@ */ @Service @AllArgsConstructor -public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { +public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService, CertificatePrintStatusEnum { private final IBaseApprovalService baseApprovalService; - private final AbstractDictService dictService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; @@ -86,7 +85,7 @@ } /** - * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 * * @return */ @@ -103,7 +102,7 @@ BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); //设置为不能打印 - certificateReport.setPrintStatus("2"); + certificateReport.setPrintStatus(NON_PRINTABLE); certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { @@ -113,7 +112,7 @@ } /** - * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 */ @Transactional @Override @@ -128,7 +127,7 @@ //审批状态为审批中 certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //打印状态审批中 - certificateReport.setPrintStatus("3"); + certificateReport.setPrintStatus(IN_APPROVAL); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -142,7 +141,7 @@ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)&&CollectionUtils.isEmpty(request.getIds())) { - handlerBeApproved(approvalList, page, request); + approvalList=handlerBeApproved(approvalList, page, request); }else { approvalList=this.baseMapper.selectBatchForApprovalList(page, request, null); } 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 d03ab22..164c53a 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,17 +7,22 @@ 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.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; -import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +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.MonitorCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -26,9 +31,9 @@ import com.casic.missiles.service.business.IBusinessCertificateReportService; import com.casic.missiles.service.business.IBusinessOriginalRecordService; import com.casic.missiles.service.flowable.ApprovalOperateService; -import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; +import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.runtime.ProcessInstance; @@ -68,8 +73,10 @@ private RuntimeService runtimeService; @Resource private IBaseExportService iBaseExportService; + /** * 保存证书报告信息 + * * @param certificateReport * @return */ @@ -77,7 +84,7 @@ public ReturnDTO saveCertificateReport(BusinessCertificateReport certificateReport) { initCertificateReport(certificateReport); - if(this.baseMapper.insert(certificateReport)>0) + if (this.baseMapper.insert(certificateReport) > 0) return ReturnUtil.success(); throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -90,9 +97,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //删除数据库记录 - if(this.baseMapper.deleteById(request.getId()) > 0){ + if (this.baseMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -101,7 +108,7 @@ @Override public ReturnDTO draftUpdate(BusinessCertificateReport certificateReport) { - if(this.baseMapper.updateById(certificateReport)>0){ + if (this.baseMapper.updateById(certificateReport) > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -109,25 +116,27 @@ /** * 批量删除 + * * @param ids * @return */ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - return baseMapper.deleteBatchIds(ids) > 0?ReturnUtil.success(): + return baseMapper.deleteBatchIds(ids) > 0 ? ReturnUtil.success() : ReturnUtil.failed("删除失败"); } /** * 证书报告详情 + * * @param id * @return */ @Override public BusinessCertificateReport certificateReportDetail(Long id) { BusinessCertificateReport certificateReport = this.baseMapper.selectById(id); - if(certificateReport.getOriginalRecordId()!=null){ + if (certificateReport.getOriginalRecordId() != null) { try { certificateReport.setBusinessOriginalRecord(originalRecordService.originalDetail(certificateReport.getOriginalRecordId())); } catch (Exception e) { @@ -139,6 +148,7 @@ /** * 提交证书报告 + * * @param request * @return */ @@ -148,10 +158,10 @@ String formId = request.getFormId(); //2.根据流程定义id启动流程实例 ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); certificateReport.setApprovalStatus(ApprovalStatusEnum.UN_DRAFT); //非草稿状态 @@ -165,6 +175,7 @@ /** * 审批状态列表查询 + * * @param page * @param request * @return @@ -182,6 +193,7 @@ /** * 驳回后更新 + * * @param certificateReport * @return */ @@ -208,13 +220,14 @@ @Override public void originExport(CertificateReportApprovalRequest request, HttpServletResponse response) { try { - //toDo: -// List certificateReportResponses = this.certificateReport(request); -// for (OriginRecordResponse originRecordResponse : originExportList) { -// //字典值转换 -// DictCodeUtils.convertDictCodeToName(originRecordResponse); -// } -// iBaseExportService.exportExcel(response, CertificateReportResponse.class, originExportList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); + //登录用户 + AuthUser user = ShiroKit.getUser(); + Assert.isFalse(Objects.isNull(user), () -> { + throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); + }); + request.setCreateUserId(user.getId()); + List reportResponseList = handleApprovalStatus(null, request); + iBaseExportService.exportExcel(response, CertificateReportResponse.class, reportResponseList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); } catch (Exception e) { log.error("证书报告导出出现异常,异常信息为{}", e); } @@ -231,15 +244,15 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -251,27 +264,27 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ - approvalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); + if (!CollectionUtils.isEmpty(businessKeys)) { + approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ - rejectApprovalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { + rejectApprovalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -279,7 +292,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.CANCELED); } break; @@ -288,10 +301,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleAllApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), AllApproveList); } break; @@ -299,9 +312,26 @@ return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List allApproveList) { - Map taskMap = new HashMap<>(); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + /** + * 客户、样品详情列表 + */ + @Override + public Page certificateRecordsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception { + Page page = PageFactory.defaultPage(); + Page certificateResponsePage = this.baseMapper.certificateRecordsById(page, customerSampleIdRequest); + for (CertificationResponse customerSampleListResponse : certificateResponsePage.getRecords()) { + if (!StringUtils.isEmpty(customerSampleListResponse.getCertificationClass())) { + DictCodeUtils.convertDictMultiCodeToName(customerSampleListResponse); + } + } + return certificateResponsePage; + } + + private List handleAllApprovalListResponse(List approvalList, List allApproveList) { + Map taskMap = new HashMap<>(); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -313,7 +343,7 @@ return approvalList.stream().sorted(Comparator.comparing(CertificateReportResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, String status){ + private List handleApprovalListResponse(List approvalList, String status) { approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); @@ -324,14 +354,14 @@ private void initCertificateReport(BusinessCertificateReport certificateReport) { String prefix = MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue() - +DateUtil.format(new Date(),"YYYYMM"); + + DateUtil.format(new Date(), "YYYYMM"); Long maxNo = this.baseMapper.selectMaxCode(prefix); //生成证书编号 - String certificateReportNo =NumberGeneratorUtil.getCode( - MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(),maxNo); + String certificateReportNo = NumberGeneratorUtil.getCode( + MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(), maxNo); AuthUser authUser = ShiroKit.getUser(); certificateReport.setCreateUser(authUser.getId()); - certificateReport.setMeasurePersonId(authUser.getId()+""); + certificateReport.setMeasurePersonId(authUser.getId() + ""); certificateReport.setMeasureDeptId(authUser.getDeptId()); certificateReport.setCertificateReportCode(certificateReportNo); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index c4ed5f6..5456773 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -12,13 +12,12 @@ import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; import com.casic.missiles.mapper.business.EnvironmentListResponseMapper; import com.casic.missiles.model.business.BusinessEnvironmentRecord; -import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 859010b..0d847a0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessInterchangeMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; @@ -35,7 +36,7 @@ * 业务管理-设备交接单 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @@ -83,7 +84,7 @@ } /** - * 更新不对样品有任何操作 + * 更新只是交接单的变更,没有任何其他单位的变化 */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { @@ -94,6 +95,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 交接单新增,同时在样品委托书管理表中新增交接单记录id + */ @Override @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { @@ -111,6 +115,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 选中判断ids存在,进行其他条件的清空 + */ @Override public void exportExchange(InterchangeListRequest request, HttpServletResponse response) { try { @@ -153,7 +160,7 @@ private void populationExchange(BusinessInterchange businessInterchange) { Long maxNo = this.baseMapper.selectMaxExchangeNo(); - String orderNo = NumberGeneratorUtil.getContactNo("jjdh", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.INTER_CHANGE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessInterchange.setCreateUser(authUser.getId()); businessInterchange.setInterchangeCode(orderNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java index 585a207..955cc7a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java @@ -13,19 +13,18 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.*; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.HandOutPropertyEnum; -import com.casic.missiles.enums.MeasureStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.HandOutPropertyEnum; +import com.casic.missiles.enums.business.MeasureStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.*; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; -import com.casic.missiles.model.business.BusinessLabExecutiveInfo; -import com.casic.missiles.model.business.BusinessLabExecutiveOperateLog; -import com.casic.missiles.model.business.BusinessLabExecutiveTemplateInfo; +import com.casic.missiles.model.business.*; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; import com.casic.missiles.service.business.IBusinessLabExecutiveTemplateInfoService; @@ -71,6 +70,8 @@ private AbstractDictService dictService; @Autowired private MeterStaffMapper staffMapper; + @Autowired + private BusinessOrderMapper orderMapper; @Override public Page handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) throws Exception{ @@ -377,7 +378,9 @@ if(CollectionUtils.isEmpty(unExecutiveInfos)){ //更新样品状态为检测完 orderSampleRelationMapper.updateByOrderIdAndSampleId(pre.getOrderId(), pre.getSampleId(), SampleStatusEnum.MEASURE_COMPLETE); - // TODO: 2023/2/17 委托书中所有样品检测完更新委托书接收状态为检测完成,需求待定 + + //委托书中所有样品检测完更新委托书接收状态为检测完成,未检测完的数量为0则表示全部检完 + updateOrderStatusComplete(pre); //将检测记录加入到实验室检测模板(仅全部为检测完成的才加入到模板,包含终止的不会加入) List labList = new ArrayList<>(); @@ -407,9 +410,27 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + @Transactional + public void updateOrderStatusComplete(SampleOperateRequest pre) { + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("order_id", pre.getOrderId()); + List statusList = new ArrayList<>(); + statusList.add(SampleStatusEnum.TO_RECEIVE); + statusList.add(SampleStatusEnum.TO_HANDOUT); + statusList.add(SampleStatusEnum.IN_MEASURE); + wrapper1.in("sample_status", statusList); + //同一事务中可查到更新后的数量 + if(orderSampleRelationMapper.selectCount(wrapper1) == 0){ + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(pre.getOrderId()); + businessOrder.setStatus(OrderStatusEnum.COMPLETE); + orderMapper.updateById(businessOrder); + } + } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + String templateCode = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.LAB_EXECUTIVE_TEMPLATE_PREFIX, maxNo + i); templateInfo.setTemplateCode(templateCode); // templateInfo.setSampleTypeId(); templateInfo.setSampleId(lab.getSampleId()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index f5c6f61..1d63554 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -14,6 +14,10 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; +import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; @@ -35,7 +39,6 @@ import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -45,12 +48,12 @@ * 业务管理-委托书 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @AllArgsConstructor -public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { +public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService,PrefixCodeEnum, OrderStatusEnum,SampleStatusEnum, MeasureTypeEnum { private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; @@ -90,8 +93,10 @@ List customerSampleList = new ArrayList<>(); for (BusinessOrderSampleRelation orderSample : orderSampleList) { CustomerSampleInfo customerSampleInfo = customerSampleService.sampleDetail(orderSample.getSampleId()); - customerSampleInfo.setIsExistSample("1"); - customerSampleList.add(customerSampleInfo); + if (null != customerSampleInfo) { + customerSampleInfo.setIsExistSample("1"); + customerSampleList.add(customerSampleInfo); + } } businessOrder.setCustomerSampleInfoList(customerSampleList); return businessOrder; @@ -202,7 +207,13 @@ @Override public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); - String dealType = "委托书" + ((status.equals("2")) ? "接收" : "退回"); + String dealType = ""; + if (status.equals(ALREADY_RECEIVED)) { + dealType = "委托书接收" ; + doUpdateSampleStatus(orderCancelRequest.getId(),TO_RECEIVE); + } else { + dealType = "委托书退回"; + } int addDealRecordFlag = addDealRecord(orderCancelRequest, dealType); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -216,7 +227,7 @@ @Override @Transactional public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { - int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), ALREADY_CANCEL); int addDealRecordFlag = addDealRecord(orderCancelRequest, "委托书取消"); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -250,6 +261,7 @@ return dealRecordMapper.insert(businessDealRecord); } + /** * 强调正在做状态更新 */ @@ -280,12 +292,12 @@ private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); - String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(ORDER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); - businessOrder.setStatus("1"); + businessOrder.setStatus(NOT_RECEIVED); } /** @@ -320,10 +332,23 @@ sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); - sampleStatusPopulation.setMeasureType("1"); + sampleStatusPopulation.setMeasureType(INSIDE_MEASURE); return this.sampleRelationMapper.insert(sampleStatusPopulation); } + /** + * 强调正在做状态更新 + */ + private int doUpdateSampleStatus(Long orderId, String sampleStatus) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", orderId); + BusinessOrderSampleRelation orderSample = new BusinessOrderSampleRelation(); + orderSample.setId(orderId); + orderSample.setSampleStatus(sampleStatus); + return this.sampleRelationMapper.update(orderSample, queryWrapper); + } + + private void doSampleListPopulation(BusinessOrder businessOrder) { businessOrder.getCustomerSampleInfoList().forEach( customerSampleInfo -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java index 1e35b7a..1c602b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java @@ -131,7 +131,7 @@ @Override public ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord) { - if (this.baseMapper.insert(businessOriginalRecord) > 0) { + if (this.baseMapper.updateById(businessOriginalRecord) > 0) { //加入技术文件绑定 if (ObjectUtil.isNotEmpty(businessOriginalRecord.getFileList()) && businessOriginalRecord.getFileList().size() > 0) { originalRecordFileRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getFileList()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java index 07c88e9..c9c1902 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.date.DateUtil; import com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -14,6 +15,7 @@ import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; @@ -29,6 +31,7 @@ import org.springframework.util.ObjectUtils; import javax.servlet.http.HttpServletResponse; +import java.util.Date; import java.util.List; import java.util.Objects; import java.util.Optional; @@ -39,7 +42,7 @@ @Service @Slf4j @AllArgsConstructor -public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService { +public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService, SampleStatusEnum, CurrentSegmentEnum, MeasureTypeEnum { private final BusinessOrderSampleRelationMapper orderSampleRelationMapper; private final BusinessCertificateReportMapper certificateReportMapper; @@ -73,20 +76,20 @@ Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.TO_HANDOUT: + case TO_HANDOUT: //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 - case SampleStatusEnum.IN_MEASURE: + case IN_MEASURE: //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.MEASURE_COMPLETE: + case MEASURE_COMPLETE: doDispatchVoPopulation(dispatchVO, sampleId, orderId); return; //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 - case SampleStatusEnum.BE_OVERDUE: + case BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); @@ -126,12 +129,14 @@ /** - * 状态更新 + * 根据sampleId,orderId,进行状态更新 */ @Override + @Transactional public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { + boolean beforeEventFlag = beforeStatusChange(deviceStatusChangeDTO); Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFlag > 0) { + if (updateFlag > 0 && beforeEventFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -181,8 +186,9 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); +// queryWrapper.ne("order_id", deviceStatusChangeDTO.getOrderId()); BusinessLabExecutiveInfo businessLabExecutiveInfo = new BusinessLabExecutiveInfo(); - businessLabExecutiveInfo.setMeasureStatus(deviceStatusChangeDTO.getStatus()); +// businessLabExecutiveInfo.setMeasureStatus(); businessLabExecutiveInfo.setRemark(deviceStatusChangeDTO.getReason()); labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } @@ -214,6 +220,9 @@ return handOutLabExecutiveDTOOptional.orElse(null); } + /** + * 构建证书的查询条件 + */ private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("order_id", dispatchVO.getOrderId()); @@ -230,7 +239,8 @@ queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); if (terminateFlag) { - queryWrapper.eq("sample_status", "2").or().eq("sample_status", "3").or().eq("sample_status", "4"); + //若是终止,需要对应待分发、检测中、检测完三个状态的变更 + queryWrapper.eq("sample_status", TO_HANDOUT).or().eq("sample_status", IN_MEASURE).or().eq("sample_status", MEASURE_COMPLETE); } BusinessOrderSampleRelation businessOrderSampleRelation = new BusinessOrderSampleRelation(); businessOrderSampleRelation.setSampleStatus(statusChangeDTO.getStatus()); @@ -238,12 +248,12 @@ } /** - * 判断不是自检 + * 判断不是自检,即外包和外检,进行环节设定 */ private boolean notSelfMeasure(DeviceDispatchVO dispatchVO) { if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType())) { - if (MeasureStatusEnum.TO_ALLOCATE.equals(String.valueOf(dispatchVO.getMeasureType())) || MeasureStatusEnum.TO_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { - String currentSegment = MeasureStatusEnum.TO_ALLOCATE.equals(dispatchVO.getMeasureType()) ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; + if (OTHERS_UNDERTAKE.equals(String.valueOf(dispatchVO.getMeasureType())) || OUTSIDE_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { + String currentSegment = OTHERS_UNDERTAKE.equals(dispatchVO.getMeasureType()) ? OUT_UNDERTAKE : OUT_MESASUR; dispatchVO.setCurrentSegment(currentSegment); return true; } @@ -251,6 +261,9 @@ return false; } + /** + * 其他条件的置为空 + */ private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { request.setSampleName(null); request.setSampleNo(null); @@ -264,18 +277,38 @@ } /** - * 判断样品是完成或接收状态,直接显示即可 + * 判断样品是完成或接收状态,进行当前阶段环节的设置 */ private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { - if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + if (TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_INCOME); return true; } - if (SampleStatusEnum.TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); + if (TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_ALLOCATE); return true; } return false; } + private boolean beforeStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(TO_INCOME)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + List orderSampleRelationList = this.orderSampleRelationMapper.selectList(queryWrapper); + Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); + if (orderSampleRelationOptional.isPresent()) { + BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); + if (businessOrderSampleRelation.getSampleStatus().equals(TO_ALLOCATE)) { + BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); + businessOrderSample.setRealDeliverTime(DateUtil.format(new Date(), "yyyy-MM-dd")); + int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); + return updateFlag > 0 ? true : false; + } + } + } + return true; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java index 4f06678..e2fea21 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerAdviceMapper; import com.casic.missiles.mapper.customer.CustomerMapper; @@ -34,7 +35,7 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerAdviceServiceImpl implements CustomerAdviceService { +public class CustomerAdviceServiceImpl implements CustomerAdviceService,PrefixCodeEnum { private final CustomerAdviceMapper customerAdviceMapper; private final IBaseExportService iBaseExportService; @@ -122,7 +123,7 @@ private void initCustomerAdviceInfo(CustomerAdviceInfo customerAdviceInfo) { Long maxNo = customerAdviceMapper.selectMaxAdviceNo(); - String adviceNo = NumberGeneratorUtil.getContactNo("khjy", maxNo); + String adviceNo = NumberGeneratorUtil.getContactNo(CUSTOMER_ADVICE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerAdviceInfo.setCreateUser(authUser.getId()); customerAdviceInfo.setUpdateUser(authUser.getId()); 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 4889e55..f9747dd 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 @@ -10,18 +10,19 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.sample.CertificationExpireStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; import com.casic.missiles.mapper.customer.CustomerMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerSampleListResponseMapper; import com.casic.missiles.mapper.customer.CustomerSampleMapper; -import com.casic.missiles.mapper.customer.customize.MesureRecordsResponseMapper; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -42,13 +43,11 @@ @Service @AllArgsConstructor -public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService { +public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService, CertificationExpireStatusEnum,PrefixCodeEnum{ private final CustomerSampleListResponseMapper customerSampleListResponseMapper; private final CustomerMapper customerMapper; private final IBaseExportService iBaseExportService; - private final CertificationResponseMapper certificationResponseMapper; - private final MesureRecordsResponseMapper mesureResponseMapper; private final BusinessOrderSampleRelationMapper sampleRelationMapper; @Override @@ -58,14 +57,14 @@ customerSamplePage.getRecords() .forEach(customerSample -> { BusinessOrderSampleRelation businessOrderSampleRelation = this.getSampleStatusById(customerSample.getId()); + customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); - customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); } }); for (CustomerSampleListResponse customerSampleListResponse : customerSamplePage.getRecords()) { - if (!StringUtils.isEmpty(customerSampleListResponse.getSampleSatus())) { + if (!StringUtils.isEmpty(customerSampleListResponse.getSampleStatus())) { DictCodeUtils.convertDictCodeToName(customerSampleListResponse); } } @@ -106,14 +105,13 @@ public CustomerSampleInfo sampleDetail(Long id) { CustomerSampleInfo customerSampleInfo = this.baseMapper.selectById(id); if (!ObjectUtils.isEmpty(customerSampleInfo)) { - doCustomerSampleInfoPopulation(customerSampleInfo); + doPopulateCustomerSampleInfo(customerSampleInfo); } return customerSampleInfo; } /** * 只导出样品列表信息 - * */ @Override public void sampleExport(CustomerSampleListRequest request, HttpServletResponse response) { @@ -135,7 +133,7 @@ BusinessOrderSampleRelation businessOrderSampleRelation = businessOrderMap.get(customerSample.getId()); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); } } @@ -159,26 +157,16 @@ } @Override - public Page measureRecordsBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page measureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); + public Page measureRecordsById(CustomerSampleIdRequest customerSampleIdRequest) { + Page page = PageFactory.defaultPage(); + Page measureRecordsResponsePage = this.baseMapper.measureRecordsById(page, customerSampleIdRequest); return measureRecordsResponsePage; } - @Override - public Page certificationBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page certificateResponsePage = certificationResponseMapper.selectPage(page, wrapper); - return certificateResponsePage; - } @Override - public Page samplesByOderId(Page page,Long orderId, String sampleNo, String sampleName) { - return this.baseMapper.samplesByOderId(page,orderId,sampleNo,sampleName); + public Page samplesByOderId(Page page, Long orderId, String sampleNo, String sampleName) { + return this.baseMapper.samplesByOderId(page, orderId, sampleNo, sampleName); } private BusinessOrderSampleRelation getSampleStatusById(Long sampleId) { @@ -190,9 +178,12 @@ return orderSampleOptional.isPresent() ? orderSampleOptional.get() : null; } + /** + * 初始化样品状态 + */ private void initSample(CustomerSampleInfo customerSampleInfo) { Long maxNo = this.baseMapper.selectMaxSampleNo(); - String sampleNo = NumberGeneratorUtil.getContactNo("khyp", maxNo); + String sampleNo = NumberGeneratorUtil.getContactNo(SAMPLE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setSampleNo(sampleNo); customerSampleInfo.setCreateUser(authUser.getId()); @@ -202,7 +193,6 @@ private QueryWrapper listParamWrapper(CustomerSampleListRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.select("id,sample_no,sample_name,sample_model,manufacturing_no,customer_id,measure_period,measure_last_time,remark,valid_deadline"); queryWrapper.like(StringUtils.isNotBlank(request.getSampleNo()), "sample_no", request.getSampleNo()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleName()), "sample_name", request.getSampleName()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleBelong()), "sample_belong", request.getSampleBelong()); @@ -210,9 +200,10 @@ queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); if (!StringUtils.isEmpty(request.getOvertimeStatus())) { - queryWrapper.apply(request.getOvertimeStatus().equals("1"), + queryWrapper.apply("1".equals(request.getOvertimeStatus()), + "sysdate() > DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); - queryWrapper.apply(request.getOvertimeStatus().equals("0"), + queryWrapper.apply("0".equals(request.getOvertimeStatus()), "sysdate() <= DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); } queryWrapper.apply(StringUtils.isNotBlank(request.getStartTime()), @@ -224,24 +215,30 @@ return queryWrapper; } + /** + * 通过证书到期时间进行到期状态的计算 + */ private String calculateCertificationStatus(String validDeadline) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if (StringUtils.isEmpty(validDeadline)) { - return "0"; + return NORMAL; } - if (validDeadline.compareTo(sdf.format(new Date())) > 0) { - return "2"; + if (validDeadline.compareTo(sdf.format(new Date())) < 0) { + return ALREADY_EXPIRE; } Calendar date = Calendar.getInstance(); date.setTime(new Date()); date.add(Calendar.DAY_OF_MONTH, -30); - if (validDeadline.compareTo(sdf.format(date.getTime())) > 0) { - return "1"; + if (validDeadline.compareTo(sdf.format(date.getTime())) < 0) { + return ALMOST_EXPIRE; } - return "0"; + return NORMAL; } - private void doCustomerSampleInfoPopulation(CustomerSampleInfo customerSampleInfo) { + /** + * 对样品列表的进行供应商联系方式的填充 + */ + private void doPopulateCustomerSampleInfo(CustomerSampleInfo customerSampleInfo) { CustomerInfo customerInfo = customerMapper.selectById(customerSampleInfo.getCustomerId()); if (!ObjectUtils.isEmpty(customerInfo)) { customerSampleInfo.setPhone(customerInfo.getPhone()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java index 32d4dee..f6e1f8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java @@ -11,13 +11,12 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerMapper; import com.casic.missiles.mapper.customer.CustomerUserMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerInfoResponseMapper; import com.casic.missiles.mapper.customer.customize.SampleRecordsResponseMapper; import com.casic.missiles.model.customer.CustomerInfo; @@ -38,11 +37,10 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerServiceImpl extends ServiceImpl implements CustomerService { +public class CustomerServiceImpl extends ServiceImpl implements CustomerService,PrefixCodeEnum { private final SampleRecordsResponseMapper sampleRecordsResponseMapper; private final CustomerUserMapper customerUserMapper; - private final CertificationResponseMapper certificationMapper; private final IBaseExportService iBaseExportService; private final CustomerInfoResponseMapper customerInfoResponseMapper; @@ -126,18 +124,9 @@ return contractRecordsResponsePage; } - @Override//暂定不做 - public Page mesureRecordsByCustomerId(Long customerId) { - Page measureRecordsResponsePage = PageFactory.defaultPage(); - return measureRecordsResponsePage; - } - @Override public Page certificationByCustomerId(Long customerId) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("customer_id", customerId); - return certificationMapper.selectPage(page, wrapper); + return null; } @Override @@ -163,8 +152,7 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); - queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "bussiness_size", request.getBusinessSize()); - queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); + queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "business_size", request.getBusinessSize()); queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); queryWrapper.eq("is_del", 0); return queryWrapper; @@ -172,7 +160,7 @@ private void initCustomerInfo(CustomerInfo customerInfo) { Long maxNo = this.baseMapper.selectMaxCustomerNo(); - String customerNo = NumberGeneratorUtil.getContactNo("khxx", maxNo); + String customerNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CUSTOMER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerInfo.setCreateUser(authUser.getId()); customerInfo.setUpdateUser(authUser.getId()); @@ -196,7 +184,7 @@ boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { customerUserInfo.setCustomerId(id); - String customerNo = NumberGeneratorUtil.getContactNo("khyh", maxUserNo++); + String customerNo = NumberGeneratorUtil.getContactNo(CUSTOMER_USER_PREFIX, maxUserNo++); customerUserInfo.setUserNo(customerNo); int userAddNum = customerUserMapper.insert(customerUserInfo); if (userAddNum <= 0) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java index d81a488..77e4caf 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java @@ -13,9 +13,10 @@ import com.casic.missiles.dto.equipment.AcceptanceCheckRequest; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentAcceptanceCheckMapper; @@ -183,7 +184,7 @@ public ReturnDTO addAcceptanceCheck(EquipmentApply equipmentApply) { Long maxNo = equipmentApplyMapper.selectMaxNo(); // 生成编号 - String applyNo = NumberGeneratorUtil.getContactNo("sbjxbyysd", maxNo); + String applyNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.REPAIR_MAINTAIN_PREFIX, maxNo); equipmentApply.setApplyNo(applyNo); // 草稿箱状态 equipmentApply.setApprovalStatus(ApprovalStatusEnum.DRAFT); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java index 38ad4e9..d468012 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java @@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.base.service.IBaseExportService; -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.IdDTO; @@ -20,6 +19,9 @@ import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java index 7c4fdbc..e6a1ff8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.equipment.CheckInfoRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoFileMapper; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoMapper; @@ -79,7 +80,7 @@ @Transactional public ReturnDTO addCheckInfo(EquipmentCheckInfo equipmentCheckInfo) { long maxNo = equipmentCheckInfoMapper.selectMaxNo(); - String checkNo = NumberGeneratorUtil.getContactNo("jc", maxNo); + String checkNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CHECK_PREFIX, maxNo); equipmentCheckInfo.setCheckNo(checkNo); if(equipmentCheckInfoMapper.insert(equipmentCheckInfo) > 0){ Long id = equipmentCheckInfo.getId(); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java index ba6a600..7ff9c16 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.equipment; -import cn.hutool.core.io.unit.DataUnit; import com.alibaba.excel.util.DateUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -13,7 +12,8 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.FixedAssetRequest; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentFixedAssetFileMapper; @@ -131,7 +131,7 @@ validManufacturingNo(meterFixedAssets); //生成资产编号 Long maxNo = meterFixedAssetsMapper.selectMaxNo(); - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); meterFixedAssets.setAssetNo(asset_no); meterFixedAssets.setEquipmentNo(asset_no); meterFixedAssetsMapper.insert(meterFixedAssets); @@ -164,7 +164,7 @@ //需要根据出厂编号判重 validManufacturingNo(item); //生成资产编号 - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); item.setAssetNo(asset_no); item.setEquipmentNo(asset_no); maxNo++; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java index 3e63a5a..2b29aa7 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java @@ -18,6 +18,8 @@ import com.casic.missiles.dto.equipment.StandardEquipmentApplyRequest; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.StandardApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java index caa63a7..afa6905 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java @@ -10,9 +10,9 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.StandardEquipmentRequest; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentFileMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentMapper; -import com.casic.missiles.model.equipment.EquipmentApply; import com.casic.missiles.model.equipment.EquipmentStandardEquipment; import com.casic.missiles.model.equipment.EquipmentStandardEquipmentFile; import com.casic.missiles.model.page.PageQuery; @@ -74,7 +74,7 @@ public ReturnDTO add(EquipmentStandardEquipment meterStandardEquipment) { //生成资产编号 Long maxNo = meterStandardEquipmentMapper.selectMaxNo(); - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); meterStandardEquipment.setStandardNo(standard_no); meterStandardEquipmentMapper.insert(meterStandardEquipment); // 插入文件列表 @@ -129,7 +129,7 @@ } DictCodeUtils.validDictCode(item); //生成资产编号 - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); item.setStandardNo(standard_no); maxNo++; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java index 481cf64..b749b2e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java @@ -2,7 +2,6 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.dto.IdDTO; @@ -12,7 +11,7 @@ import com.casic.missiles.dto.equipment.StateManageResponse; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java index 5dd6f8e..e566e01 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.EquipmentWorkbenchResponse; -import com.casic.missiles.enums.ApplyFromIdEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java index f3b9c4f..485287a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java @@ -6,7 +6,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.system.dao.DeptMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java index ce076b0..c20feb0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java @@ -4,7 +4,6 @@ import cn.hutool.core.lang.Assert; import cn.hutool.core.util.ObjectUtil; import com.alibaba.excel.util.DateUtils; -import com.alibaba.excel.util.StringUtils; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -22,18 +21,18 @@ import com.casic.missiles.dto.meter.MeterCertificateImport; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.enums.*; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterRoleTypeEnum; +import com.casic.missiles.enums.workbench.MessageTypeEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.meter.MeterCertificateExpireMessageMapper; import com.casic.missiles.mapper.meter.MeterCertificateMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.sys.UserInfoMapper; import com.casic.missiles.mapper.workbench.WorkbenchRemindMessageMapper; import com.casic.missiles.model.meter.MeterCertificate; -import com.casic.missiles.model.meter.MeterCertificateExpireMessage; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.model.system.UserInfo; import com.casic.missiles.model.workbench.WorkbenchRemindMessage; -import com.casic.missiles.service.meter.MeterCertificateExpireMessageService; import com.casic.missiles.service.meter.MeterCertificateService; import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; import com.casic.missiles.utils.ExportUtils; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java index ecf1fc3..e84f4d6 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java @@ -17,10 +17,11 @@ import com.casic.missiles.dto.meter.FileApprovalListResponse; import com.casic.missiles.dto.meter.FileListRequest; import com.casic.missiles.dto.meter.FileSaveResponse; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EffectiveStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.EffectiveStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterFileMapper; import com.casic.missiles.model.meter.MeterFile; @@ -92,7 +93,7 @@ public ReturnDTO saveFile(MeterFile file) { //生成文件编号 Long maxNo = meterFileMapper.selectMaxFileNo(); - String fileNo = NumberGeneratorUtil.getContactNo("jlwj", maxNo); + String fileNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FILE_PREFIX, maxNo); file.setFileNo(fileNo); file.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 Assert.isFalse(Objects.isNull(ShiroKit.getUser()), () -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java index 000e58a..467f03d 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java @@ -10,7 +10,8 @@ import com.casic.missiles.dto.meter.ParentDeptRequest; import com.casic.missiles.dto.meter.ParentDeptResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.model.meter.MeterOrganize; @@ -101,7 +102,7 @@ public int addOrganize(Dept dept) { //生成组织编号 Long maxNo = organizeMapper.selectMaxOrganizeNo(); - String organizeNo = NumberGeneratorUtil.getContactNo("jlzz", maxNo); + String organizeNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.ORGANIZE_PREFIX, maxNo); MeterOrganize meterOrganize = new MeterOrganize(); meterOrganize.setDeptId(dept.getId()); meterOrganize.setPDeptId(dept.getPid()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java index 7c3f9cf..643ba4c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java @@ -13,7 +13,8 @@ import com.casic.missiles.dto.meter.MeterPriceRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterPriceCategoryMapper; import com.casic.missiles.mapper.meter.MeterPriceItemMapper; @@ -83,7 +84,7 @@ MeterPriceItem item = new MeterPriceItem(null,priceCategory.getId(),meterPrice.getItemName()); if(categoryFlag>0 && meterPriceItemMapper.insert(item)>0){ Long maxNo = meterPriceMapper.getMaxNo(); - String priceNo = NumberGeneratorUtil.getContactNo("jg", maxNo); + String priceNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.PRICE_PREFIX, maxNo); meterPrice.setPriceNo(priceNo); meterPrice.setPriceType(priceCategory.getId().toString()); meterPrice.setPriceItem(item.getId().toString()); @@ -178,7 +179,7 @@ // 校验通过 AtomicLong maxNo = new AtomicLong(meterPriceMapper.getMaxNo()); list.forEach(bean->{ - String priceNo = NumberGeneratorUtil.getContactNo("jg", maxNo.get()); + String priceNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.PRICE_PREFIX, maxNo.get()); maxNo.set(Long.parseLong(priceNo.substring(2))); Long id= IdWorker.getId(); bean.setId(id); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java index 7c4a1a1..f79bb8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java @@ -15,7 +15,8 @@ import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterCertificateMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; @@ -42,7 +43,6 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; -import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.concurrent.atomic.AtomicBoolean; @@ -139,7 +139,7 @@ } long maxNo = meterStaffMapper.getMaxNo(); meterStaff.setIsDel(0); - String staffNo = NumberGeneratorUtil.getContactNo("jlry", maxNo); + String staffNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STAFF_PREFIX, maxNo); meterStaff.setStaffNo(staffNo); if(meterStaffMapper.insert(meterStaff)>0){ Long id = meterStaff.getId(); @@ -263,7 +263,7 @@ AtomicLong maxNo = new AtomicLong(meterStaffMapper.getMaxNo()); list.forEach(bean->{ // 生成编号 - String staffNo = NumberGeneratorUtil.getContactNo("jlry", maxNo.get()); + String staffNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STAFF_PREFIX, maxNo.get()); maxNo.set(Long.parseLong(staffNo.substring(4))); bean.setStaffNo(staffNo); // 获取id diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java new file mode 100644 index 0000000..e196dda --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Builder; +import lombok.Data; + +/** + * @author cz + */ +@Data +@Builder +public class NotifyEventStatusDTO { + + /** + * 业务表主键 + */ + private String id; + /** + * 业务表状态 + */ + private String status; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java index 65c19e3..0f3e84f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java @@ -74,7 +74,7 @@ /** * 部门/科室/工程组名称 */ - @ExcelProperty("组织编号") + @ExcelProperty("组织名称") @ApiModelProperty(value = "计量组织名称", dataType = "String", required = true) @NotBlank(message = "计量组织名称不能为空") @TableField("organize_name") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java index 54dc5cd..244e431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java @@ -84,7 +84,7 @@ * 签名用户id(一个用户一个签名,签名不使用关联表,签章暂时使用和使用人的关联表) */ @TableField("sign_user_id") - private String signUserId; + private Long signUserId; /** * 签章或签名-字典code diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java index ca20ca4..0e94b9e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 2f97cb3..fdc4bf0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -3,7 +3,6 @@ import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -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; @@ -17,9 +16,10 @@ import com.casic.missiles.dto.flowable.ApprovalAgreeRequest; import com.casic.missiles.dto.flowable.ApprovalRefuseRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -42,10 +42,9 @@ */ @Service @AllArgsConstructor -public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { +public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService, CertificatePrintStatusEnum { private final IBaseApprovalService baseApprovalService; - private final AbstractDictService dictService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; @@ -86,7 +85,7 @@ } /** - * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 * * @return */ @@ -103,7 +102,7 @@ BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); //设置为不能打印 - certificateReport.setPrintStatus("2"); + certificateReport.setPrintStatus(NON_PRINTABLE); certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { @@ -113,7 +112,7 @@ } /** - * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 */ @Transactional @Override @@ -128,7 +127,7 @@ //审批状态为审批中 certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //打印状态审批中 - certificateReport.setPrintStatus("3"); + certificateReport.setPrintStatus(IN_APPROVAL); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -142,7 +141,7 @@ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)&&CollectionUtils.isEmpty(request.getIds())) { - handlerBeApproved(approvalList, page, request); + approvalList=handlerBeApproved(approvalList, page, request); }else { approvalList=this.baseMapper.selectBatchForApprovalList(page, request, null); } 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 d03ab22..164c53a 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,17 +7,22 @@ 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.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; -import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +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.MonitorCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -26,9 +31,9 @@ import com.casic.missiles.service.business.IBusinessCertificateReportService; import com.casic.missiles.service.business.IBusinessOriginalRecordService; import com.casic.missiles.service.flowable.ApprovalOperateService; -import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; +import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.runtime.ProcessInstance; @@ -68,8 +73,10 @@ private RuntimeService runtimeService; @Resource private IBaseExportService iBaseExportService; + /** * 保存证书报告信息 + * * @param certificateReport * @return */ @@ -77,7 +84,7 @@ public ReturnDTO saveCertificateReport(BusinessCertificateReport certificateReport) { initCertificateReport(certificateReport); - if(this.baseMapper.insert(certificateReport)>0) + if (this.baseMapper.insert(certificateReport) > 0) return ReturnUtil.success(); throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -90,9 +97,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //删除数据库记录 - if(this.baseMapper.deleteById(request.getId()) > 0){ + if (this.baseMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -101,7 +108,7 @@ @Override public ReturnDTO draftUpdate(BusinessCertificateReport certificateReport) { - if(this.baseMapper.updateById(certificateReport)>0){ + if (this.baseMapper.updateById(certificateReport) > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -109,25 +116,27 @@ /** * 批量删除 + * * @param ids * @return */ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - return baseMapper.deleteBatchIds(ids) > 0?ReturnUtil.success(): + return baseMapper.deleteBatchIds(ids) > 0 ? ReturnUtil.success() : ReturnUtil.failed("删除失败"); } /** * 证书报告详情 + * * @param id * @return */ @Override public BusinessCertificateReport certificateReportDetail(Long id) { BusinessCertificateReport certificateReport = this.baseMapper.selectById(id); - if(certificateReport.getOriginalRecordId()!=null){ + if (certificateReport.getOriginalRecordId() != null) { try { certificateReport.setBusinessOriginalRecord(originalRecordService.originalDetail(certificateReport.getOriginalRecordId())); } catch (Exception e) { @@ -139,6 +148,7 @@ /** * 提交证书报告 + * * @param request * @return */ @@ -148,10 +158,10 @@ String formId = request.getFormId(); //2.根据流程定义id启动流程实例 ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); certificateReport.setApprovalStatus(ApprovalStatusEnum.UN_DRAFT); //非草稿状态 @@ -165,6 +175,7 @@ /** * 审批状态列表查询 + * * @param page * @param request * @return @@ -182,6 +193,7 @@ /** * 驳回后更新 + * * @param certificateReport * @return */ @@ -208,13 +220,14 @@ @Override public void originExport(CertificateReportApprovalRequest request, HttpServletResponse response) { try { - //toDo: -// List certificateReportResponses = this.certificateReport(request); -// for (OriginRecordResponse originRecordResponse : originExportList) { -// //字典值转换 -// DictCodeUtils.convertDictCodeToName(originRecordResponse); -// } -// iBaseExportService.exportExcel(response, CertificateReportResponse.class, originExportList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); + //登录用户 + AuthUser user = ShiroKit.getUser(); + Assert.isFalse(Objects.isNull(user), () -> { + throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); + }); + request.setCreateUserId(user.getId()); + List reportResponseList = handleApprovalStatus(null, request); + iBaseExportService.exportExcel(response, CertificateReportResponse.class, reportResponseList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); } catch (Exception e) { log.error("证书报告导出出现异常,异常信息为{}", e); } @@ -231,15 +244,15 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -251,27 +264,27 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ - approvalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); + if (!CollectionUtils.isEmpty(businessKeys)) { + approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ - rejectApprovalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { + rejectApprovalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -279,7 +292,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.CANCELED); } break; @@ -288,10 +301,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleAllApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), AllApproveList); } break; @@ -299,9 +312,26 @@ return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List allApproveList) { - Map taskMap = new HashMap<>(); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + /** + * 客户、样品详情列表 + */ + @Override + public Page certificateRecordsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception { + Page page = PageFactory.defaultPage(); + Page certificateResponsePage = this.baseMapper.certificateRecordsById(page, customerSampleIdRequest); + for (CertificationResponse customerSampleListResponse : certificateResponsePage.getRecords()) { + if (!StringUtils.isEmpty(customerSampleListResponse.getCertificationClass())) { + DictCodeUtils.convertDictMultiCodeToName(customerSampleListResponse); + } + } + return certificateResponsePage; + } + + private List handleAllApprovalListResponse(List approvalList, List allApproveList) { + Map taskMap = new HashMap<>(); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -313,7 +343,7 @@ return approvalList.stream().sorted(Comparator.comparing(CertificateReportResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, String status){ + private List handleApprovalListResponse(List approvalList, String status) { approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); @@ -324,14 +354,14 @@ private void initCertificateReport(BusinessCertificateReport certificateReport) { String prefix = MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue() - +DateUtil.format(new Date(),"YYYYMM"); + + DateUtil.format(new Date(), "YYYYMM"); Long maxNo = this.baseMapper.selectMaxCode(prefix); //生成证书编号 - String certificateReportNo =NumberGeneratorUtil.getCode( - MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(),maxNo); + String certificateReportNo = NumberGeneratorUtil.getCode( + MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(), maxNo); AuthUser authUser = ShiroKit.getUser(); certificateReport.setCreateUser(authUser.getId()); - certificateReport.setMeasurePersonId(authUser.getId()+""); + certificateReport.setMeasurePersonId(authUser.getId() + ""); certificateReport.setMeasureDeptId(authUser.getDeptId()); certificateReport.setCertificateReportCode(certificateReportNo); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index c4ed5f6..5456773 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -12,13 +12,12 @@ import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; import com.casic.missiles.mapper.business.EnvironmentListResponseMapper; import com.casic.missiles.model.business.BusinessEnvironmentRecord; -import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 859010b..0d847a0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessInterchangeMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; @@ -35,7 +36,7 @@ * 业务管理-设备交接单 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @@ -83,7 +84,7 @@ } /** - * 更新不对样品有任何操作 + * 更新只是交接单的变更,没有任何其他单位的变化 */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { @@ -94,6 +95,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 交接单新增,同时在样品委托书管理表中新增交接单记录id + */ @Override @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { @@ -111,6 +115,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 选中判断ids存在,进行其他条件的清空 + */ @Override public void exportExchange(InterchangeListRequest request, HttpServletResponse response) { try { @@ -153,7 +160,7 @@ private void populationExchange(BusinessInterchange businessInterchange) { Long maxNo = this.baseMapper.selectMaxExchangeNo(); - String orderNo = NumberGeneratorUtil.getContactNo("jjdh", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.INTER_CHANGE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessInterchange.setCreateUser(authUser.getId()); businessInterchange.setInterchangeCode(orderNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java index 585a207..955cc7a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java @@ -13,19 +13,18 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.*; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.HandOutPropertyEnum; -import com.casic.missiles.enums.MeasureStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.HandOutPropertyEnum; +import com.casic.missiles.enums.business.MeasureStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.*; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; -import com.casic.missiles.model.business.BusinessLabExecutiveInfo; -import com.casic.missiles.model.business.BusinessLabExecutiveOperateLog; -import com.casic.missiles.model.business.BusinessLabExecutiveTemplateInfo; +import com.casic.missiles.model.business.*; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; import com.casic.missiles.service.business.IBusinessLabExecutiveTemplateInfoService; @@ -71,6 +70,8 @@ private AbstractDictService dictService; @Autowired private MeterStaffMapper staffMapper; + @Autowired + private BusinessOrderMapper orderMapper; @Override public Page handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) throws Exception{ @@ -377,7 +378,9 @@ if(CollectionUtils.isEmpty(unExecutiveInfos)){ //更新样品状态为检测完 orderSampleRelationMapper.updateByOrderIdAndSampleId(pre.getOrderId(), pre.getSampleId(), SampleStatusEnum.MEASURE_COMPLETE); - // TODO: 2023/2/17 委托书中所有样品检测完更新委托书接收状态为检测完成,需求待定 + + //委托书中所有样品检测完更新委托书接收状态为检测完成,未检测完的数量为0则表示全部检完 + updateOrderStatusComplete(pre); //将检测记录加入到实验室检测模板(仅全部为检测完成的才加入到模板,包含终止的不会加入) List labList = new ArrayList<>(); @@ -407,9 +410,27 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + @Transactional + public void updateOrderStatusComplete(SampleOperateRequest pre) { + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("order_id", pre.getOrderId()); + List statusList = new ArrayList<>(); + statusList.add(SampleStatusEnum.TO_RECEIVE); + statusList.add(SampleStatusEnum.TO_HANDOUT); + statusList.add(SampleStatusEnum.IN_MEASURE); + wrapper1.in("sample_status", statusList); + //同一事务中可查到更新后的数量 + if(orderSampleRelationMapper.selectCount(wrapper1) == 0){ + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(pre.getOrderId()); + businessOrder.setStatus(OrderStatusEnum.COMPLETE); + orderMapper.updateById(businessOrder); + } + } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + String templateCode = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.LAB_EXECUTIVE_TEMPLATE_PREFIX, maxNo + i); templateInfo.setTemplateCode(templateCode); // templateInfo.setSampleTypeId(); templateInfo.setSampleId(lab.getSampleId()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index f5c6f61..1d63554 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -14,6 +14,10 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; +import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; @@ -35,7 +39,6 @@ import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -45,12 +48,12 @@ * 业务管理-委托书 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @AllArgsConstructor -public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { +public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService,PrefixCodeEnum, OrderStatusEnum,SampleStatusEnum, MeasureTypeEnum { private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; @@ -90,8 +93,10 @@ List customerSampleList = new ArrayList<>(); for (BusinessOrderSampleRelation orderSample : orderSampleList) { CustomerSampleInfo customerSampleInfo = customerSampleService.sampleDetail(orderSample.getSampleId()); - customerSampleInfo.setIsExistSample("1"); - customerSampleList.add(customerSampleInfo); + if (null != customerSampleInfo) { + customerSampleInfo.setIsExistSample("1"); + customerSampleList.add(customerSampleInfo); + } } businessOrder.setCustomerSampleInfoList(customerSampleList); return businessOrder; @@ -202,7 +207,13 @@ @Override public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); - String dealType = "委托书" + ((status.equals("2")) ? "接收" : "退回"); + String dealType = ""; + if (status.equals(ALREADY_RECEIVED)) { + dealType = "委托书接收" ; + doUpdateSampleStatus(orderCancelRequest.getId(),TO_RECEIVE); + } else { + dealType = "委托书退回"; + } int addDealRecordFlag = addDealRecord(orderCancelRequest, dealType); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -216,7 +227,7 @@ @Override @Transactional public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { - int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), ALREADY_CANCEL); int addDealRecordFlag = addDealRecord(orderCancelRequest, "委托书取消"); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -250,6 +261,7 @@ return dealRecordMapper.insert(businessDealRecord); } + /** * 强调正在做状态更新 */ @@ -280,12 +292,12 @@ private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); - String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(ORDER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); - businessOrder.setStatus("1"); + businessOrder.setStatus(NOT_RECEIVED); } /** @@ -320,10 +332,23 @@ sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); - sampleStatusPopulation.setMeasureType("1"); + sampleStatusPopulation.setMeasureType(INSIDE_MEASURE); return this.sampleRelationMapper.insert(sampleStatusPopulation); } + /** + * 强调正在做状态更新 + */ + private int doUpdateSampleStatus(Long orderId, String sampleStatus) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", orderId); + BusinessOrderSampleRelation orderSample = new BusinessOrderSampleRelation(); + orderSample.setId(orderId); + orderSample.setSampleStatus(sampleStatus); + return this.sampleRelationMapper.update(orderSample, queryWrapper); + } + + private void doSampleListPopulation(BusinessOrder businessOrder) { businessOrder.getCustomerSampleInfoList().forEach( customerSampleInfo -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java index 1e35b7a..1c602b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java @@ -131,7 +131,7 @@ @Override public ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord) { - if (this.baseMapper.insert(businessOriginalRecord) > 0) { + if (this.baseMapper.updateById(businessOriginalRecord) > 0) { //加入技术文件绑定 if (ObjectUtil.isNotEmpty(businessOriginalRecord.getFileList()) && businessOriginalRecord.getFileList().size() > 0) { originalRecordFileRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getFileList()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java index 07c88e9..c9c1902 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.date.DateUtil; import com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -14,6 +15,7 @@ import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; @@ -29,6 +31,7 @@ import org.springframework.util.ObjectUtils; import javax.servlet.http.HttpServletResponse; +import java.util.Date; import java.util.List; import java.util.Objects; import java.util.Optional; @@ -39,7 +42,7 @@ @Service @Slf4j @AllArgsConstructor -public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService { +public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService, SampleStatusEnum, CurrentSegmentEnum, MeasureTypeEnum { private final BusinessOrderSampleRelationMapper orderSampleRelationMapper; private final BusinessCertificateReportMapper certificateReportMapper; @@ -73,20 +76,20 @@ Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.TO_HANDOUT: + case TO_HANDOUT: //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 - case SampleStatusEnum.IN_MEASURE: + case IN_MEASURE: //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.MEASURE_COMPLETE: + case MEASURE_COMPLETE: doDispatchVoPopulation(dispatchVO, sampleId, orderId); return; //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 - case SampleStatusEnum.BE_OVERDUE: + case BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); @@ -126,12 +129,14 @@ /** - * 状态更新 + * 根据sampleId,orderId,进行状态更新 */ @Override + @Transactional public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { + boolean beforeEventFlag = beforeStatusChange(deviceStatusChangeDTO); Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFlag > 0) { + if (updateFlag > 0 && beforeEventFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -181,8 +186,9 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); +// queryWrapper.ne("order_id", deviceStatusChangeDTO.getOrderId()); BusinessLabExecutiveInfo businessLabExecutiveInfo = new BusinessLabExecutiveInfo(); - businessLabExecutiveInfo.setMeasureStatus(deviceStatusChangeDTO.getStatus()); +// businessLabExecutiveInfo.setMeasureStatus(); businessLabExecutiveInfo.setRemark(deviceStatusChangeDTO.getReason()); labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } @@ -214,6 +220,9 @@ return handOutLabExecutiveDTOOptional.orElse(null); } + /** + * 构建证书的查询条件 + */ private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("order_id", dispatchVO.getOrderId()); @@ -230,7 +239,8 @@ queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); if (terminateFlag) { - queryWrapper.eq("sample_status", "2").or().eq("sample_status", "3").or().eq("sample_status", "4"); + //若是终止,需要对应待分发、检测中、检测完三个状态的变更 + queryWrapper.eq("sample_status", TO_HANDOUT).or().eq("sample_status", IN_MEASURE).or().eq("sample_status", MEASURE_COMPLETE); } BusinessOrderSampleRelation businessOrderSampleRelation = new BusinessOrderSampleRelation(); businessOrderSampleRelation.setSampleStatus(statusChangeDTO.getStatus()); @@ -238,12 +248,12 @@ } /** - * 判断不是自检 + * 判断不是自检,即外包和外检,进行环节设定 */ private boolean notSelfMeasure(DeviceDispatchVO dispatchVO) { if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType())) { - if (MeasureStatusEnum.TO_ALLOCATE.equals(String.valueOf(dispatchVO.getMeasureType())) || MeasureStatusEnum.TO_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { - String currentSegment = MeasureStatusEnum.TO_ALLOCATE.equals(dispatchVO.getMeasureType()) ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; + if (OTHERS_UNDERTAKE.equals(String.valueOf(dispatchVO.getMeasureType())) || OUTSIDE_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { + String currentSegment = OTHERS_UNDERTAKE.equals(dispatchVO.getMeasureType()) ? OUT_UNDERTAKE : OUT_MESASUR; dispatchVO.setCurrentSegment(currentSegment); return true; } @@ -251,6 +261,9 @@ return false; } + /** + * 其他条件的置为空 + */ private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { request.setSampleName(null); request.setSampleNo(null); @@ -264,18 +277,38 @@ } /** - * 判断样品是完成或接收状态,直接显示即可 + * 判断样品是完成或接收状态,进行当前阶段环节的设置 */ private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { - if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + if (TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_INCOME); return true; } - if (SampleStatusEnum.TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); + if (TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_ALLOCATE); return true; } return false; } + private boolean beforeStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(TO_INCOME)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + List orderSampleRelationList = this.orderSampleRelationMapper.selectList(queryWrapper); + Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); + if (orderSampleRelationOptional.isPresent()) { + BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); + if (businessOrderSampleRelation.getSampleStatus().equals(TO_ALLOCATE)) { + BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); + businessOrderSample.setRealDeliverTime(DateUtil.format(new Date(), "yyyy-MM-dd")); + int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); + return updateFlag > 0 ? true : false; + } + } + } + return true; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java index 4f06678..e2fea21 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerAdviceMapper; import com.casic.missiles.mapper.customer.CustomerMapper; @@ -34,7 +35,7 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerAdviceServiceImpl implements CustomerAdviceService { +public class CustomerAdviceServiceImpl implements CustomerAdviceService,PrefixCodeEnum { private final CustomerAdviceMapper customerAdviceMapper; private final IBaseExportService iBaseExportService; @@ -122,7 +123,7 @@ private void initCustomerAdviceInfo(CustomerAdviceInfo customerAdviceInfo) { Long maxNo = customerAdviceMapper.selectMaxAdviceNo(); - String adviceNo = NumberGeneratorUtil.getContactNo("khjy", maxNo); + String adviceNo = NumberGeneratorUtil.getContactNo(CUSTOMER_ADVICE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerAdviceInfo.setCreateUser(authUser.getId()); customerAdviceInfo.setUpdateUser(authUser.getId()); 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 4889e55..f9747dd 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 @@ -10,18 +10,19 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.sample.CertificationExpireStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; import com.casic.missiles.mapper.customer.CustomerMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerSampleListResponseMapper; import com.casic.missiles.mapper.customer.CustomerSampleMapper; -import com.casic.missiles.mapper.customer.customize.MesureRecordsResponseMapper; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -42,13 +43,11 @@ @Service @AllArgsConstructor -public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService { +public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService, CertificationExpireStatusEnum,PrefixCodeEnum{ private final CustomerSampleListResponseMapper customerSampleListResponseMapper; private final CustomerMapper customerMapper; private final IBaseExportService iBaseExportService; - private final CertificationResponseMapper certificationResponseMapper; - private final MesureRecordsResponseMapper mesureResponseMapper; private final BusinessOrderSampleRelationMapper sampleRelationMapper; @Override @@ -58,14 +57,14 @@ customerSamplePage.getRecords() .forEach(customerSample -> { BusinessOrderSampleRelation businessOrderSampleRelation = this.getSampleStatusById(customerSample.getId()); + customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); - customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); } }); for (CustomerSampleListResponse customerSampleListResponse : customerSamplePage.getRecords()) { - if (!StringUtils.isEmpty(customerSampleListResponse.getSampleSatus())) { + if (!StringUtils.isEmpty(customerSampleListResponse.getSampleStatus())) { DictCodeUtils.convertDictCodeToName(customerSampleListResponse); } } @@ -106,14 +105,13 @@ public CustomerSampleInfo sampleDetail(Long id) { CustomerSampleInfo customerSampleInfo = this.baseMapper.selectById(id); if (!ObjectUtils.isEmpty(customerSampleInfo)) { - doCustomerSampleInfoPopulation(customerSampleInfo); + doPopulateCustomerSampleInfo(customerSampleInfo); } return customerSampleInfo; } /** * 只导出样品列表信息 - * */ @Override public void sampleExport(CustomerSampleListRequest request, HttpServletResponse response) { @@ -135,7 +133,7 @@ BusinessOrderSampleRelation businessOrderSampleRelation = businessOrderMap.get(customerSample.getId()); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); } } @@ -159,26 +157,16 @@ } @Override - public Page measureRecordsBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page measureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); + public Page measureRecordsById(CustomerSampleIdRequest customerSampleIdRequest) { + Page page = PageFactory.defaultPage(); + Page measureRecordsResponsePage = this.baseMapper.measureRecordsById(page, customerSampleIdRequest); return measureRecordsResponsePage; } - @Override - public Page certificationBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page certificateResponsePage = certificationResponseMapper.selectPage(page, wrapper); - return certificateResponsePage; - } @Override - public Page samplesByOderId(Page page,Long orderId, String sampleNo, String sampleName) { - return this.baseMapper.samplesByOderId(page,orderId,sampleNo,sampleName); + public Page samplesByOderId(Page page, Long orderId, String sampleNo, String sampleName) { + return this.baseMapper.samplesByOderId(page, orderId, sampleNo, sampleName); } private BusinessOrderSampleRelation getSampleStatusById(Long sampleId) { @@ -190,9 +178,12 @@ return orderSampleOptional.isPresent() ? orderSampleOptional.get() : null; } + /** + * 初始化样品状态 + */ private void initSample(CustomerSampleInfo customerSampleInfo) { Long maxNo = this.baseMapper.selectMaxSampleNo(); - String sampleNo = NumberGeneratorUtil.getContactNo("khyp", maxNo); + String sampleNo = NumberGeneratorUtil.getContactNo(SAMPLE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setSampleNo(sampleNo); customerSampleInfo.setCreateUser(authUser.getId()); @@ -202,7 +193,6 @@ private QueryWrapper listParamWrapper(CustomerSampleListRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.select("id,sample_no,sample_name,sample_model,manufacturing_no,customer_id,measure_period,measure_last_time,remark,valid_deadline"); queryWrapper.like(StringUtils.isNotBlank(request.getSampleNo()), "sample_no", request.getSampleNo()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleName()), "sample_name", request.getSampleName()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleBelong()), "sample_belong", request.getSampleBelong()); @@ -210,9 +200,10 @@ queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); if (!StringUtils.isEmpty(request.getOvertimeStatus())) { - queryWrapper.apply(request.getOvertimeStatus().equals("1"), + queryWrapper.apply("1".equals(request.getOvertimeStatus()), + "sysdate() > DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); - queryWrapper.apply(request.getOvertimeStatus().equals("0"), + queryWrapper.apply("0".equals(request.getOvertimeStatus()), "sysdate() <= DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); } queryWrapper.apply(StringUtils.isNotBlank(request.getStartTime()), @@ -224,24 +215,30 @@ return queryWrapper; } + /** + * 通过证书到期时间进行到期状态的计算 + */ private String calculateCertificationStatus(String validDeadline) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if (StringUtils.isEmpty(validDeadline)) { - return "0"; + return NORMAL; } - if (validDeadline.compareTo(sdf.format(new Date())) > 0) { - return "2"; + if (validDeadline.compareTo(sdf.format(new Date())) < 0) { + return ALREADY_EXPIRE; } Calendar date = Calendar.getInstance(); date.setTime(new Date()); date.add(Calendar.DAY_OF_MONTH, -30); - if (validDeadline.compareTo(sdf.format(date.getTime())) > 0) { - return "1"; + if (validDeadline.compareTo(sdf.format(date.getTime())) < 0) { + return ALMOST_EXPIRE; } - return "0"; + return NORMAL; } - private void doCustomerSampleInfoPopulation(CustomerSampleInfo customerSampleInfo) { + /** + * 对样品列表的进行供应商联系方式的填充 + */ + private void doPopulateCustomerSampleInfo(CustomerSampleInfo customerSampleInfo) { CustomerInfo customerInfo = customerMapper.selectById(customerSampleInfo.getCustomerId()); if (!ObjectUtils.isEmpty(customerInfo)) { customerSampleInfo.setPhone(customerInfo.getPhone()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java index 32d4dee..f6e1f8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java @@ -11,13 +11,12 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerMapper; import com.casic.missiles.mapper.customer.CustomerUserMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerInfoResponseMapper; import com.casic.missiles.mapper.customer.customize.SampleRecordsResponseMapper; import com.casic.missiles.model.customer.CustomerInfo; @@ -38,11 +37,10 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerServiceImpl extends ServiceImpl implements CustomerService { +public class CustomerServiceImpl extends ServiceImpl implements CustomerService,PrefixCodeEnum { private final SampleRecordsResponseMapper sampleRecordsResponseMapper; private final CustomerUserMapper customerUserMapper; - private final CertificationResponseMapper certificationMapper; private final IBaseExportService iBaseExportService; private final CustomerInfoResponseMapper customerInfoResponseMapper; @@ -126,18 +124,9 @@ return contractRecordsResponsePage; } - @Override//暂定不做 - public Page mesureRecordsByCustomerId(Long customerId) { - Page measureRecordsResponsePage = PageFactory.defaultPage(); - return measureRecordsResponsePage; - } - @Override public Page certificationByCustomerId(Long customerId) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("customer_id", customerId); - return certificationMapper.selectPage(page, wrapper); + return null; } @Override @@ -163,8 +152,7 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); - queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "bussiness_size", request.getBusinessSize()); - queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); + queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "business_size", request.getBusinessSize()); queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); queryWrapper.eq("is_del", 0); return queryWrapper; @@ -172,7 +160,7 @@ private void initCustomerInfo(CustomerInfo customerInfo) { Long maxNo = this.baseMapper.selectMaxCustomerNo(); - String customerNo = NumberGeneratorUtil.getContactNo("khxx", maxNo); + String customerNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CUSTOMER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerInfo.setCreateUser(authUser.getId()); customerInfo.setUpdateUser(authUser.getId()); @@ -196,7 +184,7 @@ boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { customerUserInfo.setCustomerId(id); - String customerNo = NumberGeneratorUtil.getContactNo("khyh", maxUserNo++); + String customerNo = NumberGeneratorUtil.getContactNo(CUSTOMER_USER_PREFIX, maxUserNo++); customerUserInfo.setUserNo(customerNo); int userAddNum = customerUserMapper.insert(customerUserInfo); if (userAddNum <= 0) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java index d81a488..77e4caf 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java @@ -13,9 +13,10 @@ import com.casic.missiles.dto.equipment.AcceptanceCheckRequest; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentAcceptanceCheckMapper; @@ -183,7 +184,7 @@ public ReturnDTO addAcceptanceCheck(EquipmentApply equipmentApply) { Long maxNo = equipmentApplyMapper.selectMaxNo(); // 生成编号 - String applyNo = NumberGeneratorUtil.getContactNo("sbjxbyysd", maxNo); + String applyNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.REPAIR_MAINTAIN_PREFIX, maxNo); equipmentApply.setApplyNo(applyNo); // 草稿箱状态 equipmentApply.setApprovalStatus(ApprovalStatusEnum.DRAFT); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java index 38ad4e9..d468012 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java @@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.base.service.IBaseExportService; -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.IdDTO; @@ -20,6 +19,9 @@ import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java index 7c4fdbc..e6a1ff8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.equipment.CheckInfoRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoFileMapper; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoMapper; @@ -79,7 +80,7 @@ @Transactional public ReturnDTO addCheckInfo(EquipmentCheckInfo equipmentCheckInfo) { long maxNo = equipmentCheckInfoMapper.selectMaxNo(); - String checkNo = NumberGeneratorUtil.getContactNo("jc", maxNo); + String checkNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CHECK_PREFIX, maxNo); equipmentCheckInfo.setCheckNo(checkNo); if(equipmentCheckInfoMapper.insert(equipmentCheckInfo) > 0){ Long id = equipmentCheckInfo.getId(); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java index ba6a600..7ff9c16 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.equipment; -import cn.hutool.core.io.unit.DataUnit; import com.alibaba.excel.util.DateUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -13,7 +12,8 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.FixedAssetRequest; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentFixedAssetFileMapper; @@ -131,7 +131,7 @@ validManufacturingNo(meterFixedAssets); //生成资产编号 Long maxNo = meterFixedAssetsMapper.selectMaxNo(); - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); meterFixedAssets.setAssetNo(asset_no); meterFixedAssets.setEquipmentNo(asset_no); meterFixedAssetsMapper.insert(meterFixedAssets); @@ -164,7 +164,7 @@ //需要根据出厂编号判重 validManufacturingNo(item); //生成资产编号 - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); item.setAssetNo(asset_no); item.setEquipmentNo(asset_no); maxNo++; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java index 3e63a5a..2b29aa7 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java @@ -18,6 +18,8 @@ import com.casic.missiles.dto.equipment.StandardEquipmentApplyRequest; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.StandardApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java index caa63a7..afa6905 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java @@ -10,9 +10,9 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.StandardEquipmentRequest; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentFileMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentMapper; -import com.casic.missiles.model.equipment.EquipmentApply; import com.casic.missiles.model.equipment.EquipmentStandardEquipment; import com.casic.missiles.model.equipment.EquipmentStandardEquipmentFile; import com.casic.missiles.model.page.PageQuery; @@ -74,7 +74,7 @@ public ReturnDTO add(EquipmentStandardEquipment meterStandardEquipment) { //生成资产编号 Long maxNo = meterStandardEquipmentMapper.selectMaxNo(); - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); meterStandardEquipment.setStandardNo(standard_no); meterStandardEquipmentMapper.insert(meterStandardEquipment); // 插入文件列表 @@ -129,7 +129,7 @@ } DictCodeUtils.validDictCode(item); //生成资产编号 - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); item.setStandardNo(standard_no); maxNo++; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java index 481cf64..b749b2e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java @@ -2,7 +2,6 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.dto.IdDTO; @@ -12,7 +11,7 @@ import com.casic.missiles.dto.equipment.StateManageResponse; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java index 5dd6f8e..e566e01 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.EquipmentWorkbenchResponse; -import com.casic.missiles.enums.ApplyFromIdEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java index f3b9c4f..485287a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java @@ -6,7 +6,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.system.dao.DeptMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java index ce076b0..c20feb0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java @@ -4,7 +4,6 @@ import cn.hutool.core.lang.Assert; import cn.hutool.core.util.ObjectUtil; import com.alibaba.excel.util.DateUtils; -import com.alibaba.excel.util.StringUtils; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -22,18 +21,18 @@ import com.casic.missiles.dto.meter.MeterCertificateImport; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.enums.*; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterRoleTypeEnum; +import com.casic.missiles.enums.workbench.MessageTypeEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.meter.MeterCertificateExpireMessageMapper; import com.casic.missiles.mapper.meter.MeterCertificateMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.sys.UserInfoMapper; import com.casic.missiles.mapper.workbench.WorkbenchRemindMessageMapper; import com.casic.missiles.model.meter.MeterCertificate; -import com.casic.missiles.model.meter.MeterCertificateExpireMessage; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.model.system.UserInfo; import com.casic.missiles.model.workbench.WorkbenchRemindMessage; -import com.casic.missiles.service.meter.MeterCertificateExpireMessageService; import com.casic.missiles.service.meter.MeterCertificateService; import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; import com.casic.missiles.utils.ExportUtils; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java index ecf1fc3..e84f4d6 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java @@ -17,10 +17,11 @@ import com.casic.missiles.dto.meter.FileApprovalListResponse; import com.casic.missiles.dto.meter.FileListRequest; import com.casic.missiles.dto.meter.FileSaveResponse; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EffectiveStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.EffectiveStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterFileMapper; import com.casic.missiles.model.meter.MeterFile; @@ -92,7 +93,7 @@ public ReturnDTO saveFile(MeterFile file) { //生成文件编号 Long maxNo = meterFileMapper.selectMaxFileNo(); - String fileNo = NumberGeneratorUtil.getContactNo("jlwj", maxNo); + String fileNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FILE_PREFIX, maxNo); file.setFileNo(fileNo); file.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 Assert.isFalse(Objects.isNull(ShiroKit.getUser()), () -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java index 000e58a..467f03d 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java @@ -10,7 +10,8 @@ import com.casic.missiles.dto.meter.ParentDeptRequest; import com.casic.missiles.dto.meter.ParentDeptResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.model.meter.MeterOrganize; @@ -101,7 +102,7 @@ public int addOrganize(Dept dept) { //生成组织编号 Long maxNo = organizeMapper.selectMaxOrganizeNo(); - String organizeNo = NumberGeneratorUtil.getContactNo("jlzz", maxNo); + String organizeNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.ORGANIZE_PREFIX, maxNo); MeterOrganize meterOrganize = new MeterOrganize(); meterOrganize.setDeptId(dept.getId()); meterOrganize.setPDeptId(dept.getPid()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java index 7c3f9cf..643ba4c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java @@ -13,7 +13,8 @@ import com.casic.missiles.dto.meter.MeterPriceRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterPriceCategoryMapper; import com.casic.missiles.mapper.meter.MeterPriceItemMapper; @@ -83,7 +84,7 @@ MeterPriceItem item = new MeterPriceItem(null,priceCategory.getId(),meterPrice.getItemName()); if(categoryFlag>0 && meterPriceItemMapper.insert(item)>0){ Long maxNo = meterPriceMapper.getMaxNo(); - String priceNo = NumberGeneratorUtil.getContactNo("jg", maxNo); + String priceNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.PRICE_PREFIX, maxNo); meterPrice.setPriceNo(priceNo); meterPrice.setPriceType(priceCategory.getId().toString()); meterPrice.setPriceItem(item.getId().toString()); @@ -178,7 +179,7 @@ // 校验通过 AtomicLong maxNo = new AtomicLong(meterPriceMapper.getMaxNo()); list.forEach(bean->{ - String priceNo = NumberGeneratorUtil.getContactNo("jg", maxNo.get()); + String priceNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.PRICE_PREFIX, maxNo.get()); maxNo.set(Long.parseLong(priceNo.substring(2))); Long id= IdWorker.getId(); bean.setId(id); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java index 7c4a1a1..f79bb8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java @@ -15,7 +15,8 @@ import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterCertificateMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; @@ -42,7 +43,6 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; -import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.concurrent.atomic.AtomicBoolean; @@ -139,7 +139,7 @@ } long maxNo = meterStaffMapper.getMaxNo(); meterStaff.setIsDel(0); - String staffNo = NumberGeneratorUtil.getContactNo("jlry", maxNo); + String staffNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STAFF_PREFIX, maxNo); meterStaff.setStaffNo(staffNo); if(meterStaffMapper.insert(meterStaff)>0){ Long id = meterStaff.getId(); @@ -263,7 +263,7 @@ AtomicLong maxNo = new AtomicLong(meterStaffMapper.getMaxNo()); list.forEach(bean->{ // 生成编号 - String staffNo = NumberGeneratorUtil.getContactNo("jlry", maxNo.get()); + String staffNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STAFF_PREFIX, maxNo.get()); maxNo.set(Long.parseLong(staffNo.substring(4))); bean.setStaffNo(staffNo); // 获取id diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java index 535581f..0beebb1 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java @@ -14,9 +14,10 @@ import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.meter.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterTraceSupplierMapper; import com.casic.missiles.model.meter.MeterTraceSupplier; @@ -92,7 +93,7 @@ public ReturnDTO saveTraceSupplier(MeterTraceSupplier traceSupplier) { //生成编号 Long maxNo = traceSupplierMapper.selectMaxSupplierNo(); - String supplierNo = NumberGeneratorUtil.getContactNo("sygf", maxNo); + String supplierNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.TRACE_SUPPLIER_PREFIX, maxNo); traceSupplier.setSupplierNo(supplierNo); traceSupplier.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 Assert.isFalse(Objects.isNull(ShiroKit.getUser()), () -> { @@ -106,7 +107,7 @@ //存储溯源供方人员信息 boolean saveBatchFlag = true; List traceSupplierPersonList = traceSupplier.getTraceSupplierPersonList(); - if(!CollectionUtils.isEmpty(traceSupplierPersonList)){ + if (!CollectionUtils.isEmpty(traceSupplierPersonList)) { traceSupplierPersonList.forEach(person -> { person.setSupplierId(traceSupplier.getId()); }); @@ -119,7 +120,7 @@ //存储溯源供方标准装置信息 boolean saveBatchFlag2 = true; List standardEquipmentIds = traceSupplier.getStandardEquipmentIds(); - if(!CollectionUtils.isEmpty(standardEquipmentIds)){ + if (!CollectionUtils.isEmpty(standardEquipmentIds)) { List equipmentList = new ArrayList<>(); standardEquipmentIds.forEach(id -> { MeterTraceSupplierStandardEquipment equipment = new MeterTraceSupplierStandardEquipment(); @@ -154,7 +155,7 @@ traceSupplierPersonService.remove(wrapper); boolean saveFlag = true; //溯源供方人员可能为空 - if(!CollectionUtils.isEmpty(traceSupplierPersonList)){ + if (!CollectionUtils.isEmpty(traceSupplierPersonList)) { //再增加 traceSupplierPersonList.forEach(person -> { person.setSupplierId(traceSupplier.getId()); @@ -169,7 +170,7 @@ meterTraceSupplierStandardEquipmentService.remove(wrapper1); boolean saveBatchFlag2 = true; List standardEquipmentIds = traceSupplier.getStandardEquipmentIds(); - if(!CollectionUtils.isEmpty(standardEquipmentIds)){ + if (!CollectionUtils.isEmpty(standardEquipmentIds)) { List equipmentList = new ArrayList<>(); standardEquipmentIds.forEach(id -> { MeterTraceSupplierStandardEquipment equipment = new MeterTraceSupplierStandardEquipment(); @@ -195,10 +196,10 @@ String formId = request.getFormId(); ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); MeterTraceSupplier traceSupplier = new MeterTraceSupplier(); traceSupplier.setId(request.getId()); @@ -225,9 +226,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //本地删除 - if(traceSupplierMapper.deleteById(request.getId()) > 0){ + if (traceSupplierMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -267,16 +268,16 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -288,7 +289,7 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.IN_APPROVED); } @@ -296,7 +297,7 @@ //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.PASSED); } @@ -305,12 +306,12 @@ case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { List rejectList = traceSupplierMapper.selectBatchForApproval(page, request, rejectBusinessKey); rejectApprovalList = handleApprovalListResponse(approvalList, rejectList, ApprovalStatusEnum.FAILED_REJECT); } @@ -320,7 +321,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.CANCELED); } @@ -330,10 +331,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleAllApprovalListResponse(approvalList, list, AllApproveList); } @@ -343,9 +344,11 @@ } private List handleAllApprovalListResponse(List approvalList, List list, List allApproveList) { - Map taskMap = new HashMap<>(); + Map taskMap = new HashMap<>(); approvalList = ConvertUtils.sourceToTarget(list, TraceSupplierApprovalListResponse.class); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -369,7 +372,7 @@ @Override public ReturnDTO deleteTraceSupplier(Long id) { - if(traceSupplierMapper.deleteById(id) > 0){ + if (traceSupplierMapper.deleteById(id) > 0) { return ReturnUtil.success(); } return ReturnUtil.failed("刪除失败"); @@ -377,7 +380,7 @@ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - if(traceSupplierMapper.deleteBatchIds(ids) > 0){ + if (traceSupplierMapper.deleteBatchIds(ids) > 0) { return ReturnUtil.success(); } return ReturnUtil.failed("删除失败"); @@ -400,6 +403,7 @@ wrapper.eq("id", 12344321); return wrapper; } + wrapper.like(StringUtils.isNotBlank(request.getSupplierNo()), "supplier_no", request.getSupplierNo()); wrapper.like(StringUtils.isNotBlank(request.getSupplierName()), "supplier_name", request.getSupplierName()); wrapper.like(StringUtils.isNotBlank(request.getBusinessContent()), "business_content", request.getBusinessContent()); @@ -409,7 +413,7 @@ return wrapper; } - private List handleApprovalListResponse(List approvalList, List list, String status){ + private List handleApprovalListResponse(List approvalList, List list, String status) { approvalList = ConvertUtils.sourceToTarget(list, TraceSupplierApprovalListResponse.class); approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java new file mode 100644 index 0000000..e196dda --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Builder; +import lombok.Data; + +/** + * @author cz + */ +@Data +@Builder +public class NotifyEventStatusDTO { + + /** + * 业务表主键 + */ + private String id; + /** + * 业务表状态 + */ + private String status; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java index 65c19e3..0f3e84f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java @@ -74,7 +74,7 @@ /** * 部门/科室/工程组名称 */ - @ExcelProperty("组织编号") + @ExcelProperty("组织名称") @ApiModelProperty(value = "计量组织名称", dataType = "String", required = true) @NotBlank(message = "计量组织名称不能为空") @TableField("organize_name") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java index 54dc5cd..244e431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java @@ -84,7 +84,7 @@ * 签名用户id(一个用户一个签名,签名不使用关联表,签章暂时使用和使用人的关联表) */ @TableField("sign_user_id") - private String signUserId; + private Long signUserId; /** * 签章或签名-字典code diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java index ca20ca4..0e94b9e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 2f97cb3..fdc4bf0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -3,7 +3,6 @@ import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -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; @@ -17,9 +16,10 @@ import com.casic.missiles.dto.flowable.ApprovalAgreeRequest; import com.casic.missiles.dto.flowable.ApprovalRefuseRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -42,10 +42,9 @@ */ @Service @AllArgsConstructor -public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { +public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService, CertificatePrintStatusEnum { private final IBaseApprovalService baseApprovalService; - private final AbstractDictService dictService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; @@ -86,7 +85,7 @@ } /** - * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 * * @return */ @@ -103,7 +102,7 @@ BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); //设置为不能打印 - certificateReport.setPrintStatus("2"); + certificateReport.setPrintStatus(NON_PRINTABLE); certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { @@ -113,7 +112,7 @@ } /** - * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 */ @Transactional @Override @@ -128,7 +127,7 @@ //审批状态为审批中 certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //打印状态审批中 - certificateReport.setPrintStatus("3"); + certificateReport.setPrintStatus(IN_APPROVAL); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -142,7 +141,7 @@ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)&&CollectionUtils.isEmpty(request.getIds())) { - handlerBeApproved(approvalList, page, request); + approvalList=handlerBeApproved(approvalList, page, request); }else { approvalList=this.baseMapper.selectBatchForApprovalList(page, request, null); } 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 d03ab22..164c53a 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,17 +7,22 @@ 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.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; -import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +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.MonitorCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -26,9 +31,9 @@ import com.casic.missiles.service.business.IBusinessCertificateReportService; import com.casic.missiles.service.business.IBusinessOriginalRecordService; import com.casic.missiles.service.flowable.ApprovalOperateService; -import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; +import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.runtime.ProcessInstance; @@ -68,8 +73,10 @@ private RuntimeService runtimeService; @Resource private IBaseExportService iBaseExportService; + /** * 保存证书报告信息 + * * @param certificateReport * @return */ @@ -77,7 +84,7 @@ public ReturnDTO saveCertificateReport(BusinessCertificateReport certificateReport) { initCertificateReport(certificateReport); - if(this.baseMapper.insert(certificateReport)>0) + if (this.baseMapper.insert(certificateReport) > 0) return ReturnUtil.success(); throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -90,9 +97,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //删除数据库记录 - if(this.baseMapper.deleteById(request.getId()) > 0){ + if (this.baseMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -101,7 +108,7 @@ @Override public ReturnDTO draftUpdate(BusinessCertificateReport certificateReport) { - if(this.baseMapper.updateById(certificateReport)>0){ + if (this.baseMapper.updateById(certificateReport) > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -109,25 +116,27 @@ /** * 批量删除 + * * @param ids * @return */ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - return baseMapper.deleteBatchIds(ids) > 0?ReturnUtil.success(): + return baseMapper.deleteBatchIds(ids) > 0 ? ReturnUtil.success() : ReturnUtil.failed("删除失败"); } /** * 证书报告详情 + * * @param id * @return */ @Override public BusinessCertificateReport certificateReportDetail(Long id) { BusinessCertificateReport certificateReport = this.baseMapper.selectById(id); - if(certificateReport.getOriginalRecordId()!=null){ + if (certificateReport.getOriginalRecordId() != null) { try { certificateReport.setBusinessOriginalRecord(originalRecordService.originalDetail(certificateReport.getOriginalRecordId())); } catch (Exception e) { @@ -139,6 +148,7 @@ /** * 提交证书报告 + * * @param request * @return */ @@ -148,10 +158,10 @@ String formId = request.getFormId(); //2.根据流程定义id启动流程实例 ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); certificateReport.setApprovalStatus(ApprovalStatusEnum.UN_DRAFT); //非草稿状态 @@ -165,6 +175,7 @@ /** * 审批状态列表查询 + * * @param page * @param request * @return @@ -182,6 +193,7 @@ /** * 驳回后更新 + * * @param certificateReport * @return */ @@ -208,13 +220,14 @@ @Override public void originExport(CertificateReportApprovalRequest request, HttpServletResponse response) { try { - //toDo: -// List certificateReportResponses = this.certificateReport(request); -// for (OriginRecordResponse originRecordResponse : originExportList) { -// //字典值转换 -// DictCodeUtils.convertDictCodeToName(originRecordResponse); -// } -// iBaseExportService.exportExcel(response, CertificateReportResponse.class, originExportList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); + //登录用户 + AuthUser user = ShiroKit.getUser(); + Assert.isFalse(Objects.isNull(user), () -> { + throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); + }); + request.setCreateUserId(user.getId()); + List reportResponseList = handleApprovalStatus(null, request); + iBaseExportService.exportExcel(response, CertificateReportResponse.class, reportResponseList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); } catch (Exception e) { log.error("证书报告导出出现异常,异常信息为{}", e); } @@ -231,15 +244,15 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -251,27 +264,27 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ - approvalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); + if (!CollectionUtils.isEmpty(businessKeys)) { + approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ - rejectApprovalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { + rejectApprovalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -279,7 +292,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.CANCELED); } break; @@ -288,10 +301,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleAllApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), AllApproveList); } break; @@ -299,9 +312,26 @@ return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List allApproveList) { - Map taskMap = new HashMap<>(); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + /** + * 客户、样品详情列表 + */ + @Override + public Page certificateRecordsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception { + Page page = PageFactory.defaultPage(); + Page certificateResponsePage = this.baseMapper.certificateRecordsById(page, customerSampleIdRequest); + for (CertificationResponse customerSampleListResponse : certificateResponsePage.getRecords()) { + if (!StringUtils.isEmpty(customerSampleListResponse.getCertificationClass())) { + DictCodeUtils.convertDictMultiCodeToName(customerSampleListResponse); + } + } + return certificateResponsePage; + } + + private List handleAllApprovalListResponse(List approvalList, List allApproveList) { + Map taskMap = new HashMap<>(); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -313,7 +343,7 @@ return approvalList.stream().sorted(Comparator.comparing(CertificateReportResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, String status){ + private List handleApprovalListResponse(List approvalList, String status) { approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); @@ -324,14 +354,14 @@ private void initCertificateReport(BusinessCertificateReport certificateReport) { String prefix = MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue() - +DateUtil.format(new Date(),"YYYYMM"); + + DateUtil.format(new Date(), "YYYYMM"); Long maxNo = this.baseMapper.selectMaxCode(prefix); //生成证书编号 - String certificateReportNo =NumberGeneratorUtil.getCode( - MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(),maxNo); + String certificateReportNo = NumberGeneratorUtil.getCode( + MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(), maxNo); AuthUser authUser = ShiroKit.getUser(); certificateReport.setCreateUser(authUser.getId()); - certificateReport.setMeasurePersonId(authUser.getId()+""); + certificateReport.setMeasurePersonId(authUser.getId() + ""); certificateReport.setMeasureDeptId(authUser.getDeptId()); certificateReport.setCertificateReportCode(certificateReportNo); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index c4ed5f6..5456773 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -12,13 +12,12 @@ import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; import com.casic.missiles.mapper.business.EnvironmentListResponseMapper; import com.casic.missiles.model.business.BusinessEnvironmentRecord; -import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 859010b..0d847a0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessInterchangeMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; @@ -35,7 +36,7 @@ * 业务管理-设备交接单 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @@ -83,7 +84,7 @@ } /** - * 更新不对样品有任何操作 + * 更新只是交接单的变更,没有任何其他单位的变化 */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { @@ -94,6 +95,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 交接单新增,同时在样品委托书管理表中新增交接单记录id + */ @Override @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { @@ -111,6 +115,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 选中判断ids存在,进行其他条件的清空 + */ @Override public void exportExchange(InterchangeListRequest request, HttpServletResponse response) { try { @@ -153,7 +160,7 @@ private void populationExchange(BusinessInterchange businessInterchange) { Long maxNo = this.baseMapper.selectMaxExchangeNo(); - String orderNo = NumberGeneratorUtil.getContactNo("jjdh", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.INTER_CHANGE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessInterchange.setCreateUser(authUser.getId()); businessInterchange.setInterchangeCode(orderNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java index 585a207..955cc7a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java @@ -13,19 +13,18 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.*; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.HandOutPropertyEnum; -import com.casic.missiles.enums.MeasureStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.HandOutPropertyEnum; +import com.casic.missiles.enums.business.MeasureStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.*; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; -import com.casic.missiles.model.business.BusinessLabExecutiveInfo; -import com.casic.missiles.model.business.BusinessLabExecutiveOperateLog; -import com.casic.missiles.model.business.BusinessLabExecutiveTemplateInfo; +import com.casic.missiles.model.business.*; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; import com.casic.missiles.service.business.IBusinessLabExecutiveTemplateInfoService; @@ -71,6 +70,8 @@ private AbstractDictService dictService; @Autowired private MeterStaffMapper staffMapper; + @Autowired + private BusinessOrderMapper orderMapper; @Override public Page handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) throws Exception{ @@ -377,7 +378,9 @@ if(CollectionUtils.isEmpty(unExecutiveInfos)){ //更新样品状态为检测完 orderSampleRelationMapper.updateByOrderIdAndSampleId(pre.getOrderId(), pre.getSampleId(), SampleStatusEnum.MEASURE_COMPLETE); - // TODO: 2023/2/17 委托书中所有样品检测完更新委托书接收状态为检测完成,需求待定 + + //委托书中所有样品检测完更新委托书接收状态为检测完成,未检测完的数量为0则表示全部检完 + updateOrderStatusComplete(pre); //将检测记录加入到实验室检测模板(仅全部为检测完成的才加入到模板,包含终止的不会加入) List labList = new ArrayList<>(); @@ -407,9 +410,27 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + @Transactional + public void updateOrderStatusComplete(SampleOperateRequest pre) { + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("order_id", pre.getOrderId()); + List statusList = new ArrayList<>(); + statusList.add(SampleStatusEnum.TO_RECEIVE); + statusList.add(SampleStatusEnum.TO_HANDOUT); + statusList.add(SampleStatusEnum.IN_MEASURE); + wrapper1.in("sample_status", statusList); + //同一事务中可查到更新后的数量 + if(orderSampleRelationMapper.selectCount(wrapper1) == 0){ + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(pre.getOrderId()); + businessOrder.setStatus(OrderStatusEnum.COMPLETE); + orderMapper.updateById(businessOrder); + } + } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + String templateCode = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.LAB_EXECUTIVE_TEMPLATE_PREFIX, maxNo + i); templateInfo.setTemplateCode(templateCode); // templateInfo.setSampleTypeId(); templateInfo.setSampleId(lab.getSampleId()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index f5c6f61..1d63554 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -14,6 +14,10 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; +import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; @@ -35,7 +39,6 @@ import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -45,12 +48,12 @@ * 业务管理-委托书 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @AllArgsConstructor -public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { +public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService,PrefixCodeEnum, OrderStatusEnum,SampleStatusEnum, MeasureTypeEnum { private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; @@ -90,8 +93,10 @@ List customerSampleList = new ArrayList<>(); for (BusinessOrderSampleRelation orderSample : orderSampleList) { CustomerSampleInfo customerSampleInfo = customerSampleService.sampleDetail(orderSample.getSampleId()); - customerSampleInfo.setIsExistSample("1"); - customerSampleList.add(customerSampleInfo); + if (null != customerSampleInfo) { + customerSampleInfo.setIsExistSample("1"); + customerSampleList.add(customerSampleInfo); + } } businessOrder.setCustomerSampleInfoList(customerSampleList); return businessOrder; @@ -202,7 +207,13 @@ @Override public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); - String dealType = "委托书" + ((status.equals("2")) ? "接收" : "退回"); + String dealType = ""; + if (status.equals(ALREADY_RECEIVED)) { + dealType = "委托书接收" ; + doUpdateSampleStatus(orderCancelRequest.getId(),TO_RECEIVE); + } else { + dealType = "委托书退回"; + } int addDealRecordFlag = addDealRecord(orderCancelRequest, dealType); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -216,7 +227,7 @@ @Override @Transactional public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { - int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), ALREADY_CANCEL); int addDealRecordFlag = addDealRecord(orderCancelRequest, "委托书取消"); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -250,6 +261,7 @@ return dealRecordMapper.insert(businessDealRecord); } + /** * 强调正在做状态更新 */ @@ -280,12 +292,12 @@ private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); - String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(ORDER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); - businessOrder.setStatus("1"); + businessOrder.setStatus(NOT_RECEIVED); } /** @@ -320,10 +332,23 @@ sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); - sampleStatusPopulation.setMeasureType("1"); + sampleStatusPopulation.setMeasureType(INSIDE_MEASURE); return this.sampleRelationMapper.insert(sampleStatusPopulation); } + /** + * 强调正在做状态更新 + */ + private int doUpdateSampleStatus(Long orderId, String sampleStatus) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", orderId); + BusinessOrderSampleRelation orderSample = new BusinessOrderSampleRelation(); + orderSample.setId(orderId); + orderSample.setSampleStatus(sampleStatus); + return this.sampleRelationMapper.update(orderSample, queryWrapper); + } + + private void doSampleListPopulation(BusinessOrder businessOrder) { businessOrder.getCustomerSampleInfoList().forEach( customerSampleInfo -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java index 1e35b7a..1c602b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java @@ -131,7 +131,7 @@ @Override public ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord) { - if (this.baseMapper.insert(businessOriginalRecord) > 0) { + if (this.baseMapper.updateById(businessOriginalRecord) > 0) { //加入技术文件绑定 if (ObjectUtil.isNotEmpty(businessOriginalRecord.getFileList()) && businessOriginalRecord.getFileList().size() > 0) { originalRecordFileRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getFileList()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java index 07c88e9..c9c1902 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.date.DateUtil; import com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -14,6 +15,7 @@ import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; @@ -29,6 +31,7 @@ import org.springframework.util.ObjectUtils; import javax.servlet.http.HttpServletResponse; +import java.util.Date; import java.util.List; import java.util.Objects; import java.util.Optional; @@ -39,7 +42,7 @@ @Service @Slf4j @AllArgsConstructor -public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService { +public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService, SampleStatusEnum, CurrentSegmentEnum, MeasureTypeEnum { private final BusinessOrderSampleRelationMapper orderSampleRelationMapper; private final BusinessCertificateReportMapper certificateReportMapper; @@ -73,20 +76,20 @@ Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.TO_HANDOUT: + case TO_HANDOUT: //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 - case SampleStatusEnum.IN_MEASURE: + case IN_MEASURE: //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.MEASURE_COMPLETE: + case MEASURE_COMPLETE: doDispatchVoPopulation(dispatchVO, sampleId, orderId); return; //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 - case SampleStatusEnum.BE_OVERDUE: + case BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); @@ -126,12 +129,14 @@ /** - * 状态更新 + * 根据sampleId,orderId,进行状态更新 */ @Override + @Transactional public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { + boolean beforeEventFlag = beforeStatusChange(deviceStatusChangeDTO); Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFlag > 0) { + if (updateFlag > 0 && beforeEventFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -181,8 +186,9 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); +// queryWrapper.ne("order_id", deviceStatusChangeDTO.getOrderId()); BusinessLabExecutiveInfo businessLabExecutiveInfo = new BusinessLabExecutiveInfo(); - businessLabExecutiveInfo.setMeasureStatus(deviceStatusChangeDTO.getStatus()); +// businessLabExecutiveInfo.setMeasureStatus(); businessLabExecutiveInfo.setRemark(deviceStatusChangeDTO.getReason()); labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } @@ -214,6 +220,9 @@ return handOutLabExecutiveDTOOptional.orElse(null); } + /** + * 构建证书的查询条件 + */ private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("order_id", dispatchVO.getOrderId()); @@ -230,7 +239,8 @@ queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); if (terminateFlag) { - queryWrapper.eq("sample_status", "2").or().eq("sample_status", "3").or().eq("sample_status", "4"); + //若是终止,需要对应待分发、检测中、检测完三个状态的变更 + queryWrapper.eq("sample_status", TO_HANDOUT).or().eq("sample_status", IN_MEASURE).or().eq("sample_status", MEASURE_COMPLETE); } BusinessOrderSampleRelation businessOrderSampleRelation = new BusinessOrderSampleRelation(); businessOrderSampleRelation.setSampleStatus(statusChangeDTO.getStatus()); @@ -238,12 +248,12 @@ } /** - * 判断不是自检 + * 判断不是自检,即外包和外检,进行环节设定 */ private boolean notSelfMeasure(DeviceDispatchVO dispatchVO) { if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType())) { - if (MeasureStatusEnum.TO_ALLOCATE.equals(String.valueOf(dispatchVO.getMeasureType())) || MeasureStatusEnum.TO_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { - String currentSegment = MeasureStatusEnum.TO_ALLOCATE.equals(dispatchVO.getMeasureType()) ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; + if (OTHERS_UNDERTAKE.equals(String.valueOf(dispatchVO.getMeasureType())) || OUTSIDE_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { + String currentSegment = OTHERS_UNDERTAKE.equals(dispatchVO.getMeasureType()) ? OUT_UNDERTAKE : OUT_MESASUR; dispatchVO.setCurrentSegment(currentSegment); return true; } @@ -251,6 +261,9 @@ return false; } + /** + * 其他条件的置为空 + */ private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { request.setSampleName(null); request.setSampleNo(null); @@ -264,18 +277,38 @@ } /** - * 判断样品是完成或接收状态,直接显示即可 + * 判断样品是完成或接收状态,进行当前阶段环节的设置 */ private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { - if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + if (TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_INCOME); return true; } - if (SampleStatusEnum.TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); + if (TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_ALLOCATE); return true; } return false; } + private boolean beforeStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(TO_INCOME)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + List orderSampleRelationList = this.orderSampleRelationMapper.selectList(queryWrapper); + Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); + if (orderSampleRelationOptional.isPresent()) { + BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); + if (businessOrderSampleRelation.getSampleStatus().equals(TO_ALLOCATE)) { + BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); + businessOrderSample.setRealDeliverTime(DateUtil.format(new Date(), "yyyy-MM-dd")); + int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); + return updateFlag > 0 ? true : false; + } + } + } + return true; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java index 4f06678..e2fea21 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerAdviceMapper; import com.casic.missiles.mapper.customer.CustomerMapper; @@ -34,7 +35,7 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerAdviceServiceImpl implements CustomerAdviceService { +public class CustomerAdviceServiceImpl implements CustomerAdviceService,PrefixCodeEnum { private final CustomerAdviceMapper customerAdviceMapper; private final IBaseExportService iBaseExportService; @@ -122,7 +123,7 @@ private void initCustomerAdviceInfo(CustomerAdviceInfo customerAdviceInfo) { Long maxNo = customerAdviceMapper.selectMaxAdviceNo(); - String adviceNo = NumberGeneratorUtil.getContactNo("khjy", maxNo); + String adviceNo = NumberGeneratorUtil.getContactNo(CUSTOMER_ADVICE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerAdviceInfo.setCreateUser(authUser.getId()); customerAdviceInfo.setUpdateUser(authUser.getId()); 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 4889e55..f9747dd 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 @@ -10,18 +10,19 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.sample.CertificationExpireStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; import com.casic.missiles.mapper.customer.CustomerMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerSampleListResponseMapper; import com.casic.missiles.mapper.customer.CustomerSampleMapper; -import com.casic.missiles.mapper.customer.customize.MesureRecordsResponseMapper; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -42,13 +43,11 @@ @Service @AllArgsConstructor -public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService { +public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService, CertificationExpireStatusEnum,PrefixCodeEnum{ private final CustomerSampleListResponseMapper customerSampleListResponseMapper; private final CustomerMapper customerMapper; private final IBaseExportService iBaseExportService; - private final CertificationResponseMapper certificationResponseMapper; - private final MesureRecordsResponseMapper mesureResponseMapper; private final BusinessOrderSampleRelationMapper sampleRelationMapper; @Override @@ -58,14 +57,14 @@ customerSamplePage.getRecords() .forEach(customerSample -> { BusinessOrderSampleRelation businessOrderSampleRelation = this.getSampleStatusById(customerSample.getId()); + customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); - customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); } }); for (CustomerSampleListResponse customerSampleListResponse : customerSamplePage.getRecords()) { - if (!StringUtils.isEmpty(customerSampleListResponse.getSampleSatus())) { + if (!StringUtils.isEmpty(customerSampleListResponse.getSampleStatus())) { DictCodeUtils.convertDictCodeToName(customerSampleListResponse); } } @@ -106,14 +105,13 @@ public CustomerSampleInfo sampleDetail(Long id) { CustomerSampleInfo customerSampleInfo = this.baseMapper.selectById(id); if (!ObjectUtils.isEmpty(customerSampleInfo)) { - doCustomerSampleInfoPopulation(customerSampleInfo); + doPopulateCustomerSampleInfo(customerSampleInfo); } return customerSampleInfo; } /** * 只导出样品列表信息 - * */ @Override public void sampleExport(CustomerSampleListRequest request, HttpServletResponse response) { @@ -135,7 +133,7 @@ BusinessOrderSampleRelation businessOrderSampleRelation = businessOrderMap.get(customerSample.getId()); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); } } @@ -159,26 +157,16 @@ } @Override - public Page measureRecordsBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page measureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); + public Page measureRecordsById(CustomerSampleIdRequest customerSampleIdRequest) { + Page page = PageFactory.defaultPage(); + Page measureRecordsResponsePage = this.baseMapper.measureRecordsById(page, customerSampleIdRequest); return measureRecordsResponsePage; } - @Override - public Page certificationBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page certificateResponsePage = certificationResponseMapper.selectPage(page, wrapper); - return certificateResponsePage; - } @Override - public Page samplesByOderId(Page page,Long orderId, String sampleNo, String sampleName) { - return this.baseMapper.samplesByOderId(page,orderId,sampleNo,sampleName); + public Page samplesByOderId(Page page, Long orderId, String sampleNo, String sampleName) { + return this.baseMapper.samplesByOderId(page, orderId, sampleNo, sampleName); } private BusinessOrderSampleRelation getSampleStatusById(Long sampleId) { @@ -190,9 +178,12 @@ return orderSampleOptional.isPresent() ? orderSampleOptional.get() : null; } + /** + * 初始化样品状态 + */ private void initSample(CustomerSampleInfo customerSampleInfo) { Long maxNo = this.baseMapper.selectMaxSampleNo(); - String sampleNo = NumberGeneratorUtil.getContactNo("khyp", maxNo); + String sampleNo = NumberGeneratorUtil.getContactNo(SAMPLE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setSampleNo(sampleNo); customerSampleInfo.setCreateUser(authUser.getId()); @@ -202,7 +193,6 @@ private QueryWrapper listParamWrapper(CustomerSampleListRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.select("id,sample_no,sample_name,sample_model,manufacturing_no,customer_id,measure_period,measure_last_time,remark,valid_deadline"); queryWrapper.like(StringUtils.isNotBlank(request.getSampleNo()), "sample_no", request.getSampleNo()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleName()), "sample_name", request.getSampleName()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleBelong()), "sample_belong", request.getSampleBelong()); @@ -210,9 +200,10 @@ queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); if (!StringUtils.isEmpty(request.getOvertimeStatus())) { - queryWrapper.apply(request.getOvertimeStatus().equals("1"), + queryWrapper.apply("1".equals(request.getOvertimeStatus()), + "sysdate() > DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); - queryWrapper.apply(request.getOvertimeStatus().equals("0"), + queryWrapper.apply("0".equals(request.getOvertimeStatus()), "sysdate() <= DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); } queryWrapper.apply(StringUtils.isNotBlank(request.getStartTime()), @@ -224,24 +215,30 @@ return queryWrapper; } + /** + * 通过证书到期时间进行到期状态的计算 + */ private String calculateCertificationStatus(String validDeadline) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if (StringUtils.isEmpty(validDeadline)) { - return "0"; + return NORMAL; } - if (validDeadline.compareTo(sdf.format(new Date())) > 0) { - return "2"; + if (validDeadline.compareTo(sdf.format(new Date())) < 0) { + return ALREADY_EXPIRE; } Calendar date = Calendar.getInstance(); date.setTime(new Date()); date.add(Calendar.DAY_OF_MONTH, -30); - if (validDeadline.compareTo(sdf.format(date.getTime())) > 0) { - return "1"; + if (validDeadline.compareTo(sdf.format(date.getTime())) < 0) { + return ALMOST_EXPIRE; } - return "0"; + return NORMAL; } - private void doCustomerSampleInfoPopulation(CustomerSampleInfo customerSampleInfo) { + /** + * 对样品列表的进行供应商联系方式的填充 + */ + private void doPopulateCustomerSampleInfo(CustomerSampleInfo customerSampleInfo) { CustomerInfo customerInfo = customerMapper.selectById(customerSampleInfo.getCustomerId()); if (!ObjectUtils.isEmpty(customerInfo)) { customerSampleInfo.setPhone(customerInfo.getPhone()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java index 32d4dee..f6e1f8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java @@ -11,13 +11,12 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerMapper; import com.casic.missiles.mapper.customer.CustomerUserMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerInfoResponseMapper; import com.casic.missiles.mapper.customer.customize.SampleRecordsResponseMapper; import com.casic.missiles.model.customer.CustomerInfo; @@ -38,11 +37,10 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerServiceImpl extends ServiceImpl implements CustomerService { +public class CustomerServiceImpl extends ServiceImpl implements CustomerService,PrefixCodeEnum { private final SampleRecordsResponseMapper sampleRecordsResponseMapper; private final CustomerUserMapper customerUserMapper; - private final CertificationResponseMapper certificationMapper; private final IBaseExportService iBaseExportService; private final CustomerInfoResponseMapper customerInfoResponseMapper; @@ -126,18 +124,9 @@ return contractRecordsResponsePage; } - @Override//暂定不做 - public Page mesureRecordsByCustomerId(Long customerId) { - Page measureRecordsResponsePage = PageFactory.defaultPage(); - return measureRecordsResponsePage; - } - @Override public Page certificationByCustomerId(Long customerId) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("customer_id", customerId); - return certificationMapper.selectPage(page, wrapper); + return null; } @Override @@ -163,8 +152,7 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); - queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "bussiness_size", request.getBusinessSize()); - queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); + queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "business_size", request.getBusinessSize()); queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); queryWrapper.eq("is_del", 0); return queryWrapper; @@ -172,7 +160,7 @@ private void initCustomerInfo(CustomerInfo customerInfo) { Long maxNo = this.baseMapper.selectMaxCustomerNo(); - String customerNo = NumberGeneratorUtil.getContactNo("khxx", maxNo); + String customerNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CUSTOMER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerInfo.setCreateUser(authUser.getId()); customerInfo.setUpdateUser(authUser.getId()); @@ -196,7 +184,7 @@ boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { customerUserInfo.setCustomerId(id); - String customerNo = NumberGeneratorUtil.getContactNo("khyh", maxUserNo++); + String customerNo = NumberGeneratorUtil.getContactNo(CUSTOMER_USER_PREFIX, maxUserNo++); customerUserInfo.setUserNo(customerNo); int userAddNum = customerUserMapper.insert(customerUserInfo); if (userAddNum <= 0) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java index d81a488..77e4caf 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java @@ -13,9 +13,10 @@ import com.casic.missiles.dto.equipment.AcceptanceCheckRequest; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentAcceptanceCheckMapper; @@ -183,7 +184,7 @@ public ReturnDTO addAcceptanceCheck(EquipmentApply equipmentApply) { Long maxNo = equipmentApplyMapper.selectMaxNo(); // 生成编号 - String applyNo = NumberGeneratorUtil.getContactNo("sbjxbyysd", maxNo); + String applyNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.REPAIR_MAINTAIN_PREFIX, maxNo); equipmentApply.setApplyNo(applyNo); // 草稿箱状态 equipmentApply.setApprovalStatus(ApprovalStatusEnum.DRAFT); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java index 38ad4e9..d468012 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java @@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.base.service.IBaseExportService; -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.IdDTO; @@ -20,6 +19,9 @@ import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java index 7c4fdbc..e6a1ff8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.equipment.CheckInfoRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoFileMapper; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoMapper; @@ -79,7 +80,7 @@ @Transactional public ReturnDTO addCheckInfo(EquipmentCheckInfo equipmentCheckInfo) { long maxNo = equipmentCheckInfoMapper.selectMaxNo(); - String checkNo = NumberGeneratorUtil.getContactNo("jc", maxNo); + String checkNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CHECK_PREFIX, maxNo); equipmentCheckInfo.setCheckNo(checkNo); if(equipmentCheckInfoMapper.insert(equipmentCheckInfo) > 0){ Long id = equipmentCheckInfo.getId(); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java index ba6a600..7ff9c16 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.equipment; -import cn.hutool.core.io.unit.DataUnit; import com.alibaba.excel.util.DateUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -13,7 +12,8 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.FixedAssetRequest; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentFixedAssetFileMapper; @@ -131,7 +131,7 @@ validManufacturingNo(meterFixedAssets); //生成资产编号 Long maxNo = meterFixedAssetsMapper.selectMaxNo(); - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); meterFixedAssets.setAssetNo(asset_no); meterFixedAssets.setEquipmentNo(asset_no); meterFixedAssetsMapper.insert(meterFixedAssets); @@ -164,7 +164,7 @@ //需要根据出厂编号判重 validManufacturingNo(item); //生成资产编号 - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); item.setAssetNo(asset_no); item.setEquipmentNo(asset_no); maxNo++; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java index 3e63a5a..2b29aa7 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java @@ -18,6 +18,8 @@ import com.casic.missiles.dto.equipment.StandardEquipmentApplyRequest; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.StandardApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java index caa63a7..afa6905 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java @@ -10,9 +10,9 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.StandardEquipmentRequest; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentFileMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentMapper; -import com.casic.missiles.model.equipment.EquipmentApply; import com.casic.missiles.model.equipment.EquipmentStandardEquipment; import com.casic.missiles.model.equipment.EquipmentStandardEquipmentFile; import com.casic.missiles.model.page.PageQuery; @@ -74,7 +74,7 @@ public ReturnDTO add(EquipmentStandardEquipment meterStandardEquipment) { //生成资产编号 Long maxNo = meterStandardEquipmentMapper.selectMaxNo(); - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); meterStandardEquipment.setStandardNo(standard_no); meterStandardEquipmentMapper.insert(meterStandardEquipment); // 插入文件列表 @@ -129,7 +129,7 @@ } DictCodeUtils.validDictCode(item); //生成资产编号 - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); item.setStandardNo(standard_no); maxNo++; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java index 481cf64..b749b2e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java @@ -2,7 +2,6 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.dto.IdDTO; @@ -12,7 +11,7 @@ import com.casic.missiles.dto.equipment.StateManageResponse; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java index 5dd6f8e..e566e01 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.EquipmentWorkbenchResponse; -import com.casic.missiles.enums.ApplyFromIdEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java index f3b9c4f..485287a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java @@ -6,7 +6,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.system.dao.DeptMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java index ce076b0..c20feb0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java @@ -4,7 +4,6 @@ import cn.hutool.core.lang.Assert; import cn.hutool.core.util.ObjectUtil; import com.alibaba.excel.util.DateUtils; -import com.alibaba.excel.util.StringUtils; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -22,18 +21,18 @@ import com.casic.missiles.dto.meter.MeterCertificateImport; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.enums.*; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterRoleTypeEnum; +import com.casic.missiles.enums.workbench.MessageTypeEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.meter.MeterCertificateExpireMessageMapper; import com.casic.missiles.mapper.meter.MeterCertificateMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.sys.UserInfoMapper; import com.casic.missiles.mapper.workbench.WorkbenchRemindMessageMapper; import com.casic.missiles.model.meter.MeterCertificate; -import com.casic.missiles.model.meter.MeterCertificateExpireMessage; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.model.system.UserInfo; import com.casic.missiles.model.workbench.WorkbenchRemindMessage; -import com.casic.missiles.service.meter.MeterCertificateExpireMessageService; import com.casic.missiles.service.meter.MeterCertificateService; import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; import com.casic.missiles.utils.ExportUtils; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java index ecf1fc3..e84f4d6 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java @@ -17,10 +17,11 @@ import com.casic.missiles.dto.meter.FileApprovalListResponse; import com.casic.missiles.dto.meter.FileListRequest; import com.casic.missiles.dto.meter.FileSaveResponse; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EffectiveStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.EffectiveStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterFileMapper; import com.casic.missiles.model.meter.MeterFile; @@ -92,7 +93,7 @@ public ReturnDTO saveFile(MeterFile file) { //生成文件编号 Long maxNo = meterFileMapper.selectMaxFileNo(); - String fileNo = NumberGeneratorUtil.getContactNo("jlwj", maxNo); + String fileNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FILE_PREFIX, maxNo); file.setFileNo(fileNo); file.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 Assert.isFalse(Objects.isNull(ShiroKit.getUser()), () -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java index 000e58a..467f03d 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java @@ -10,7 +10,8 @@ import com.casic.missiles.dto.meter.ParentDeptRequest; import com.casic.missiles.dto.meter.ParentDeptResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.model.meter.MeterOrganize; @@ -101,7 +102,7 @@ public int addOrganize(Dept dept) { //生成组织编号 Long maxNo = organizeMapper.selectMaxOrganizeNo(); - String organizeNo = NumberGeneratorUtil.getContactNo("jlzz", maxNo); + String organizeNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.ORGANIZE_PREFIX, maxNo); MeterOrganize meterOrganize = new MeterOrganize(); meterOrganize.setDeptId(dept.getId()); meterOrganize.setPDeptId(dept.getPid()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java index 7c3f9cf..643ba4c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java @@ -13,7 +13,8 @@ import com.casic.missiles.dto.meter.MeterPriceRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterPriceCategoryMapper; import com.casic.missiles.mapper.meter.MeterPriceItemMapper; @@ -83,7 +84,7 @@ MeterPriceItem item = new MeterPriceItem(null,priceCategory.getId(),meterPrice.getItemName()); if(categoryFlag>0 && meterPriceItemMapper.insert(item)>0){ Long maxNo = meterPriceMapper.getMaxNo(); - String priceNo = NumberGeneratorUtil.getContactNo("jg", maxNo); + String priceNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.PRICE_PREFIX, maxNo); meterPrice.setPriceNo(priceNo); meterPrice.setPriceType(priceCategory.getId().toString()); meterPrice.setPriceItem(item.getId().toString()); @@ -178,7 +179,7 @@ // 校验通过 AtomicLong maxNo = new AtomicLong(meterPriceMapper.getMaxNo()); list.forEach(bean->{ - String priceNo = NumberGeneratorUtil.getContactNo("jg", maxNo.get()); + String priceNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.PRICE_PREFIX, maxNo.get()); maxNo.set(Long.parseLong(priceNo.substring(2))); Long id= IdWorker.getId(); bean.setId(id); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java index 7c4a1a1..f79bb8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java @@ -15,7 +15,8 @@ import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterCertificateMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; @@ -42,7 +43,6 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; -import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.concurrent.atomic.AtomicBoolean; @@ -139,7 +139,7 @@ } long maxNo = meterStaffMapper.getMaxNo(); meterStaff.setIsDel(0); - String staffNo = NumberGeneratorUtil.getContactNo("jlry", maxNo); + String staffNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STAFF_PREFIX, maxNo); meterStaff.setStaffNo(staffNo); if(meterStaffMapper.insert(meterStaff)>0){ Long id = meterStaff.getId(); @@ -263,7 +263,7 @@ AtomicLong maxNo = new AtomicLong(meterStaffMapper.getMaxNo()); list.forEach(bean->{ // 生成编号 - String staffNo = NumberGeneratorUtil.getContactNo("jlry", maxNo.get()); + String staffNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STAFF_PREFIX, maxNo.get()); maxNo.set(Long.parseLong(staffNo.substring(4))); bean.setStaffNo(staffNo); // 获取id diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java index 535581f..0beebb1 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java @@ -14,9 +14,10 @@ import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.meter.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterTraceSupplierMapper; import com.casic.missiles.model.meter.MeterTraceSupplier; @@ -92,7 +93,7 @@ public ReturnDTO saveTraceSupplier(MeterTraceSupplier traceSupplier) { //生成编号 Long maxNo = traceSupplierMapper.selectMaxSupplierNo(); - String supplierNo = NumberGeneratorUtil.getContactNo("sygf", maxNo); + String supplierNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.TRACE_SUPPLIER_PREFIX, maxNo); traceSupplier.setSupplierNo(supplierNo); traceSupplier.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 Assert.isFalse(Objects.isNull(ShiroKit.getUser()), () -> { @@ -106,7 +107,7 @@ //存储溯源供方人员信息 boolean saveBatchFlag = true; List traceSupplierPersonList = traceSupplier.getTraceSupplierPersonList(); - if(!CollectionUtils.isEmpty(traceSupplierPersonList)){ + if (!CollectionUtils.isEmpty(traceSupplierPersonList)) { traceSupplierPersonList.forEach(person -> { person.setSupplierId(traceSupplier.getId()); }); @@ -119,7 +120,7 @@ //存储溯源供方标准装置信息 boolean saveBatchFlag2 = true; List standardEquipmentIds = traceSupplier.getStandardEquipmentIds(); - if(!CollectionUtils.isEmpty(standardEquipmentIds)){ + if (!CollectionUtils.isEmpty(standardEquipmentIds)) { List equipmentList = new ArrayList<>(); standardEquipmentIds.forEach(id -> { MeterTraceSupplierStandardEquipment equipment = new MeterTraceSupplierStandardEquipment(); @@ -154,7 +155,7 @@ traceSupplierPersonService.remove(wrapper); boolean saveFlag = true; //溯源供方人员可能为空 - if(!CollectionUtils.isEmpty(traceSupplierPersonList)){ + if (!CollectionUtils.isEmpty(traceSupplierPersonList)) { //再增加 traceSupplierPersonList.forEach(person -> { person.setSupplierId(traceSupplier.getId()); @@ -169,7 +170,7 @@ meterTraceSupplierStandardEquipmentService.remove(wrapper1); boolean saveBatchFlag2 = true; List standardEquipmentIds = traceSupplier.getStandardEquipmentIds(); - if(!CollectionUtils.isEmpty(standardEquipmentIds)){ + if (!CollectionUtils.isEmpty(standardEquipmentIds)) { List equipmentList = new ArrayList<>(); standardEquipmentIds.forEach(id -> { MeterTraceSupplierStandardEquipment equipment = new MeterTraceSupplierStandardEquipment(); @@ -195,10 +196,10 @@ String formId = request.getFormId(); ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); MeterTraceSupplier traceSupplier = new MeterTraceSupplier(); traceSupplier.setId(request.getId()); @@ -225,9 +226,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //本地删除 - if(traceSupplierMapper.deleteById(request.getId()) > 0){ + if (traceSupplierMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -267,16 +268,16 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -288,7 +289,7 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.IN_APPROVED); } @@ -296,7 +297,7 @@ //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.PASSED); } @@ -305,12 +306,12 @@ case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { List rejectList = traceSupplierMapper.selectBatchForApproval(page, request, rejectBusinessKey); rejectApprovalList = handleApprovalListResponse(approvalList, rejectList, ApprovalStatusEnum.FAILED_REJECT); } @@ -320,7 +321,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.CANCELED); } @@ -330,10 +331,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleAllApprovalListResponse(approvalList, list, AllApproveList); } @@ -343,9 +344,11 @@ } private List handleAllApprovalListResponse(List approvalList, List list, List allApproveList) { - Map taskMap = new HashMap<>(); + Map taskMap = new HashMap<>(); approvalList = ConvertUtils.sourceToTarget(list, TraceSupplierApprovalListResponse.class); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -369,7 +372,7 @@ @Override public ReturnDTO deleteTraceSupplier(Long id) { - if(traceSupplierMapper.deleteById(id) > 0){ + if (traceSupplierMapper.deleteById(id) > 0) { return ReturnUtil.success(); } return ReturnUtil.failed("刪除失败"); @@ -377,7 +380,7 @@ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - if(traceSupplierMapper.deleteBatchIds(ids) > 0){ + if (traceSupplierMapper.deleteBatchIds(ids) > 0) { return ReturnUtil.success(); } return ReturnUtil.failed("删除失败"); @@ -400,6 +403,7 @@ wrapper.eq("id", 12344321); return wrapper; } + wrapper.like(StringUtils.isNotBlank(request.getSupplierNo()), "supplier_no", request.getSupplierNo()); wrapper.like(StringUtils.isNotBlank(request.getSupplierName()), "supplier_name", request.getSupplierName()); wrapper.like(StringUtils.isNotBlank(request.getBusinessContent()), "business_content", request.getBusinessContent()); @@ -409,7 +413,7 @@ return wrapper; } - private List handleApprovalListResponse(List approvalList, List list, String status){ + private List handleApprovalListResponse(List approvalList, List list, String status) { approvalList = ConvertUtils.sourceToTarget(list, TraceSupplierApprovalListResponse.class); approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java index 0fd9403..bec30c8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.meter.TrainLogListRequest; import com.casic.missiles.dto.meter.TrainLogUpdateRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterTrainLogMapper; import com.casic.missiles.mapper.meter.MeterTrainStaffMapper; @@ -58,7 +59,7 @@ public ReturnDTO addTrainLog(TrainLogAddRequest request) { //生成编号 Long maxNo = trainLogMapper.selectMaxTrainLogNo(); - String logNo = NumberGeneratorUtil.getContactNo("pxjl", maxNo); + String logNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.TRAIN_LOG_PREFIX, maxNo); MeterTrainLog meterTrainLog = ConvertUtils.sourceToTarget(request, MeterTrainLog.class); meterTrainLog.setLogNo(logNo); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java new file mode 100644 index 0000000..e196dda --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Builder; +import lombok.Data; + +/** + * @author cz + */ +@Data +@Builder +public class NotifyEventStatusDTO { + + /** + * 业务表主键 + */ + private String id; + /** + * 业务表状态 + */ + private String status; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java index 65c19e3..0f3e84f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java @@ -74,7 +74,7 @@ /** * 部门/科室/工程组名称 */ - @ExcelProperty("组织编号") + @ExcelProperty("组织名称") @ApiModelProperty(value = "计量组织名称", dataType = "String", required = true) @NotBlank(message = "计量组织名称不能为空") @TableField("organize_name") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java index 54dc5cd..244e431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java @@ -84,7 +84,7 @@ * 签名用户id(一个用户一个签名,签名不使用关联表,签章暂时使用和使用人的关联表) */ @TableField("sign_user_id") - private String signUserId; + private Long signUserId; /** * 签章或签名-字典code diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java index ca20ca4..0e94b9e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 2f97cb3..fdc4bf0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -3,7 +3,6 @@ import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -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; @@ -17,9 +16,10 @@ import com.casic.missiles.dto.flowable.ApprovalAgreeRequest; import com.casic.missiles.dto.flowable.ApprovalRefuseRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -42,10 +42,9 @@ */ @Service @AllArgsConstructor -public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { +public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService, CertificatePrintStatusEnum { private final IBaseApprovalService baseApprovalService; - private final AbstractDictService dictService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; @@ -86,7 +85,7 @@ } /** - * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 * * @return */ @@ -103,7 +102,7 @@ BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); //设置为不能打印 - certificateReport.setPrintStatus("2"); + certificateReport.setPrintStatus(NON_PRINTABLE); certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { @@ -113,7 +112,7 @@ } /** - * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 */ @Transactional @Override @@ -128,7 +127,7 @@ //审批状态为审批中 certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //打印状态审批中 - certificateReport.setPrintStatus("3"); + certificateReport.setPrintStatus(IN_APPROVAL); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -142,7 +141,7 @@ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)&&CollectionUtils.isEmpty(request.getIds())) { - handlerBeApproved(approvalList, page, request); + approvalList=handlerBeApproved(approvalList, page, request); }else { approvalList=this.baseMapper.selectBatchForApprovalList(page, request, null); } 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 d03ab22..164c53a 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,17 +7,22 @@ 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.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; -import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +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.MonitorCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -26,9 +31,9 @@ import com.casic.missiles.service.business.IBusinessCertificateReportService; import com.casic.missiles.service.business.IBusinessOriginalRecordService; import com.casic.missiles.service.flowable.ApprovalOperateService; -import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; +import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.runtime.ProcessInstance; @@ -68,8 +73,10 @@ private RuntimeService runtimeService; @Resource private IBaseExportService iBaseExportService; + /** * 保存证书报告信息 + * * @param certificateReport * @return */ @@ -77,7 +84,7 @@ public ReturnDTO saveCertificateReport(BusinessCertificateReport certificateReport) { initCertificateReport(certificateReport); - if(this.baseMapper.insert(certificateReport)>0) + if (this.baseMapper.insert(certificateReport) > 0) return ReturnUtil.success(); throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -90,9 +97,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //删除数据库记录 - if(this.baseMapper.deleteById(request.getId()) > 0){ + if (this.baseMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -101,7 +108,7 @@ @Override public ReturnDTO draftUpdate(BusinessCertificateReport certificateReport) { - if(this.baseMapper.updateById(certificateReport)>0){ + if (this.baseMapper.updateById(certificateReport) > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -109,25 +116,27 @@ /** * 批量删除 + * * @param ids * @return */ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - return baseMapper.deleteBatchIds(ids) > 0?ReturnUtil.success(): + return baseMapper.deleteBatchIds(ids) > 0 ? ReturnUtil.success() : ReturnUtil.failed("删除失败"); } /** * 证书报告详情 + * * @param id * @return */ @Override public BusinessCertificateReport certificateReportDetail(Long id) { BusinessCertificateReport certificateReport = this.baseMapper.selectById(id); - if(certificateReport.getOriginalRecordId()!=null){ + if (certificateReport.getOriginalRecordId() != null) { try { certificateReport.setBusinessOriginalRecord(originalRecordService.originalDetail(certificateReport.getOriginalRecordId())); } catch (Exception e) { @@ -139,6 +148,7 @@ /** * 提交证书报告 + * * @param request * @return */ @@ -148,10 +158,10 @@ String formId = request.getFormId(); //2.根据流程定义id启动流程实例 ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); certificateReport.setApprovalStatus(ApprovalStatusEnum.UN_DRAFT); //非草稿状态 @@ -165,6 +175,7 @@ /** * 审批状态列表查询 + * * @param page * @param request * @return @@ -182,6 +193,7 @@ /** * 驳回后更新 + * * @param certificateReport * @return */ @@ -208,13 +220,14 @@ @Override public void originExport(CertificateReportApprovalRequest request, HttpServletResponse response) { try { - //toDo: -// List certificateReportResponses = this.certificateReport(request); -// for (OriginRecordResponse originRecordResponse : originExportList) { -// //字典值转换 -// DictCodeUtils.convertDictCodeToName(originRecordResponse); -// } -// iBaseExportService.exportExcel(response, CertificateReportResponse.class, originExportList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); + //登录用户 + AuthUser user = ShiroKit.getUser(); + Assert.isFalse(Objects.isNull(user), () -> { + throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); + }); + request.setCreateUserId(user.getId()); + List reportResponseList = handleApprovalStatus(null, request); + iBaseExportService.exportExcel(response, CertificateReportResponse.class, reportResponseList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); } catch (Exception e) { log.error("证书报告导出出现异常,异常信息为{}", e); } @@ -231,15 +244,15 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -251,27 +264,27 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ - approvalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); + if (!CollectionUtils.isEmpty(businessKeys)) { + approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ - rejectApprovalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { + rejectApprovalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -279,7 +292,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.CANCELED); } break; @@ -288,10 +301,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleAllApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), AllApproveList); } break; @@ -299,9 +312,26 @@ return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List allApproveList) { - Map taskMap = new HashMap<>(); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + /** + * 客户、样品详情列表 + */ + @Override + public Page certificateRecordsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception { + Page page = PageFactory.defaultPage(); + Page certificateResponsePage = this.baseMapper.certificateRecordsById(page, customerSampleIdRequest); + for (CertificationResponse customerSampleListResponse : certificateResponsePage.getRecords()) { + if (!StringUtils.isEmpty(customerSampleListResponse.getCertificationClass())) { + DictCodeUtils.convertDictMultiCodeToName(customerSampleListResponse); + } + } + return certificateResponsePage; + } + + private List handleAllApprovalListResponse(List approvalList, List allApproveList) { + Map taskMap = new HashMap<>(); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -313,7 +343,7 @@ return approvalList.stream().sorted(Comparator.comparing(CertificateReportResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, String status){ + private List handleApprovalListResponse(List approvalList, String status) { approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); @@ -324,14 +354,14 @@ private void initCertificateReport(BusinessCertificateReport certificateReport) { String prefix = MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue() - +DateUtil.format(new Date(),"YYYYMM"); + + DateUtil.format(new Date(), "YYYYMM"); Long maxNo = this.baseMapper.selectMaxCode(prefix); //生成证书编号 - String certificateReportNo =NumberGeneratorUtil.getCode( - MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(),maxNo); + String certificateReportNo = NumberGeneratorUtil.getCode( + MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(), maxNo); AuthUser authUser = ShiroKit.getUser(); certificateReport.setCreateUser(authUser.getId()); - certificateReport.setMeasurePersonId(authUser.getId()+""); + certificateReport.setMeasurePersonId(authUser.getId() + ""); certificateReport.setMeasureDeptId(authUser.getDeptId()); certificateReport.setCertificateReportCode(certificateReportNo); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index c4ed5f6..5456773 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -12,13 +12,12 @@ import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; import com.casic.missiles.mapper.business.EnvironmentListResponseMapper; import com.casic.missiles.model.business.BusinessEnvironmentRecord; -import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 859010b..0d847a0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessInterchangeMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; @@ -35,7 +36,7 @@ * 业务管理-设备交接单 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @@ -83,7 +84,7 @@ } /** - * 更新不对样品有任何操作 + * 更新只是交接单的变更,没有任何其他单位的变化 */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { @@ -94,6 +95,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 交接单新增,同时在样品委托书管理表中新增交接单记录id + */ @Override @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { @@ -111,6 +115,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 选中判断ids存在,进行其他条件的清空 + */ @Override public void exportExchange(InterchangeListRequest request, HttpServletResponse response) { try { @@ -153,7 +160,7 @@ private void populationExchange(BusinessInterchange businessInterchange) { Long maxNo = this.baseMapper.selectMaxExchangeNo(); - String orderNo = NumberGeneratorUtil.getContactNo("jjdh", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.INTER_CHANGE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessInterchange.setCreateUser(authUser.getId()); businessInterchange.setInterchangeCode(orderNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java index 585a207..955cc7a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java @@ -13,19 +13,18 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.*; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.HandOutPropertyEnum; -import com.casic.missiles.enums.MeasureStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.HandOutPropertyEnum; +import com.casic.missiles.enums.business.MeasureStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.*; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; -import com.casic.missiles.model.business.BusinessLabExecutiveInfo; -import com.casic.missiles.model.business.BusinessLabExecutiveOperateLog; -import com.casic.missiles.model.business.BusinessLabExecutiveTemplateInfo; +import com.casic.missiles.model.business.*; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; import com.casic.missiles.service.business.IBusinessLabExecutiveTemplateInfoService; @@ -71,6 +70,8 @@ private AbstractDictService dictService; @Autowired private MeterStaffMapper staffMapper; + @Autowired + private BusinessOrderMapper orderMapper; @Override public Page handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) throws Exception{ @@ -377,7 +378,9 @@ if(CollectionUtils.isEmpty(unExecutiveInfos)){ //更新样品状态为检测完 orderSampleRelationMapper.updateByOrderIdAndSampleId(pre.getOrderId(), pre.getSampleId(), SampleStatusEnum.MEASURE_COMPLETE); - // TODO: 2023/2/17 委托书中所有样品检测完更新委托书接收状态为检测完成,需求待定 + + //委托书中所有样品检测完更新委托书接收状态为检测完成,未检测完的数量为0则表示全部检完 + updateOrderStatusComplete(pre); //将检测记录加入到实验室检测模板(仅全部为检测完成的才加入到模板,包含终止的不会加入) List labList = new ArrayList<>(); @@ -407,9 +410,27 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + @Transactional + public void updateOrderStatusComplete(SampleOperateRequest pre) { + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("order_id", pre.getOrderId()); + List statusList = new ArrayList<>(); + statusList.add(SampleStatusEnum.TO_RECEIVE); + statusList.add(SampleStatusEnum.TO_HANDOUT); + statusList.add(SampleStatusEnum.IN_MEASURE); + wrapper1.in("sample_status", statusList); + //同一事务中可查到更新后的数量 + if(orderSampleRelationMapper.selectCount(wrapper1) == 0){ + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(pre.getOrderId()); + businessOrder.setStatus(OrderStatusEnum.COMPLETE); + orderMapper.updateById(businessOrder); + } + } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + String templateCode = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.LAB_EXECUTIVE_TEMPLATE_PREFIX, maxNo + i); templateInfo.setTemplateCode(templateCode); // templateInfo.setSampleTypeId(); templateInfo.setSampleId(lab.getSampleId()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index f5c6f61..1d63554 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -14,6 +14,10 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; +import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; @@ -35,7 +39,6 @@ import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -45,12 +48,12 @@ * 业务管理-委托书 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @AllArgsConstructor -public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { +public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService,PrefixCodeEnum, OrderStatusEnum,SampleStatusEnum, MeasureTypeEnum { private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; @@ -90,8 +93,10 @@ List customerSampleList = new ArrayList<>(); for (BusinessOrderSampleRelation orderSample : orderSampleList) { CustomerSampleInfo customerSampleInfo = customerSampleService.sampleDetail(orderSample.getSampleId()); - customerSampleInfo.setIsExistSample("1"); - customerSampleList.add(customerSampleInfo); + if (null != customerSampleInfo) { + customerSampleInfo.setIsExistSample("1"); + customerSampleList.add(customerSampleInfo); + } } businessOrder.setCustomerSampleInfoList(customerSampleList); return businessOrder; @@ -202,7 +207,13 @@ @Override public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); - String dealType = "委托书" + ((status.equals("2")) ? "接收" : "退回"); + String dealType = ""; + if (status.equals(ALREADY_RECEIVED)) { + dealType = "委托书接收" ; + doUpdateSampleStatus(orderCancelRequest.getId(),TO_RECEIVE); + } else { + dealType = "委托书退回"; + } int addDealRecordFlag = addDealRecord(orderCancelRequest, dealType); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -216,7 +227,7 @@ @Override @Transactional public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { - int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), ALREADY_CANCEL); int addDealRecordFlag = addDealRecord(orderCancelRequest, "委托书取消"); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -250,6 +261,7 @@ return dealRecordMapper.insert(businessDealRecord); } + /** * 强调正在做状态更新 */ @@ -280,12 +292,12 @@ private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); - String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(ORDER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); - businessOrder.setStatus("1"); + businessOrder.setStatus(NOT_RECEIVED); } /** @@ -320,10 +332,23 @@ sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); - sampleStatusPopulation.setMeasureType("1"); + sampleStatusPopulation.setMeasureType(INSIDE_MEASURE); return this.sampleRelationMapper.insert(sampleStatusPopulation); } + /** + * 强调正在做状态更新 + */ + private int doUpdateSampleStatus(Long orderId, String sampleStatus) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", orderId); + BusinessOrderSampleRelation orderSample = new BusinessOrderSampleRelation(); + orderSample.setId(orderId); + orderSample.setSampleStatus(sampleStatus); + return this.sampleRelationMapper.update(orderSample, queryWrapper); + } + + private void doSampleListPopulation(BusinessOrder businessOrder) { businessOrder.getCustomerSampleInfoList().forEach( customerSampleInfo -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java index 1e35b7a..1c602b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java @@ -131,7 +131,7 @@ @Override public ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord) { - if (this.baseMapper.insert(businessOriginalRecord) > 0) { + if (this.baseMapper.updateById(businessOriginalRecord) > 0) { //加入技术文件绑定 if (ObjectUtil.isNotEmpty(businessOriginalRecord.getFileList()) && businessOriginalRecord.getFileList().size() > 0) { originalRecordFileRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getFileList()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java index 07c88e9..c9c1902 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.date.DateUtil; import com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -14,6 +15,7 @@ import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; @@ -29,6 +31,7 @@ import org.springframework.util.ObjectUtils; import javax.servlet.http.HttpServletResponse; +import java.util.Date; import java.util.List; import java.util.Objects; import java.util.Optional; @@ -39,7 +42,7 @@ @Service @Slf4j @AllArgsConstructor -public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService { +public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService, SampleStatusEnum, CurrentSegmentEnum, MeasureTypeEnum { private final BusinessOrderSampleRelationMapper orderSampleRelationMapper; private final BusinessCertificateReportMapper certificateReportMapper; @@ -73,20 +76,20 @@ Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.TO_HANDOUT: + case TO_HANDOUT: //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 - case SampleStatusEnum.IN_MEASURE: + case IN_MEASURE: //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.MEASURE_COMPLETE: + case MEASURE_COMPLETE: doDispatchVoPopulation(dispatchVO, sampleId, orderId); return; //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 - case SampleStatusEnum.BE_OVERDUE: + case BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); @@ -126,12 +129,14 @@ /** - * 状态更新 + * 根据sampleId,orderId,进行状态更新 */ @Override + @Transactional public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { + boolean beforeEventFlag = beforeStatusChange(deviceStatusChangeDTO); Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFlag > 0) { + if (updateFlag > 0 && beforeEventFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -181,8 +186,9 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); +// queryWrapper.ne("order_id", deviceStatusChangeDTO.getOrderId()); BusinessLabExecutiveInfo businessLabExecutiveInfo = new BusinessLabExecutiveInfo(); - businessLabExecutiveInfo.setMeasureStatus(deviceStatusChangeDTO.getStatus()); +// businessLabExecutiveInfo.setMeasureStatus(); businessLabExecutiveInfo.setRemark(deviceStatusChangeDTO.getReason()); labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } @@ -214,6 +220,9 @@ return handOutLabExecutiveDTOOptional.orElse(null); } + /** + * 构建证书的查询条件 + */ private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("order_id", dispatchVO.getOrderId()); @@ -230,7 +239,8 @@ queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); if (terminateFlag) { - queryWrapper.eq("sample_status", "2").or().eq("sample_status", "3").or().eq("sample_status", "4"); + //若是终止,需要对应待分发、检测中、检测完三个状态的变更 + queryWrapper.eq("sample_status", TO_HANDOUT).or().eq("sample_status", IN_MEASURE).or().eq("sample_status", MEASURE_COMPLETE); } BusinessOrderSampleRelation businessOrderSampleRelation = new BusinessOrderSampleRelation(); businessOrderSampleRelation.setSampleStatus(statusChangeDTO.getStatus()); @@ -238,12 +248,12 @@ } /** - * 判断不是自检 + * 判断不是自检,即外包和外检,进行环节设定 */ private boolean notSelfMeasure(DeviceDispatchVO dispatchVO) { if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType())) { - if (MeasureStatusEnum.TO_ALLOCATE.equals(String.valueOf(dispatchVO.getMeasureType())) || MeasureStatusEnum.TO_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { - String currentSegment = MeasureStatusEnum.TO_ALLOCATE.equals(dispatchVO.getMeasureType()) ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; + if (OTHERS_UNDERTAKE.equals(String.valueOf(dispatchVO.getMeasureType())) || OUTSIDE_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { + String currentSegment = OTHERS_UNDERTAKE.equals(dispatchVO.getMeasureType()) ? OUT_UNDERTAKE : OUT_MESASUR; dispatchVO.setCurrentSegment(currentSegment); return true; } @@ -251,6 +261,9 @@ return false; } + /** + * 其他条件的置为空 + */ private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { request.setSampleName(null); request.setSampleNo(null); @@ -264,18 +277,38 @@ } /** - * 判断样品是完成或接收状态,直接显示即可 + * 判断样品是完成或接收状态,进行当前阶段环节的设置 */ private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { - if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + if (TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_INCOME); return true; } - if (SampleStatusEnum.TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); + if (TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_ALLOCATE); return true; } return false; } + private boolean beforeStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(TO_INCOME)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + List orderSampleRelationList = this.orderSampleRelationMapper.selectList(queryWrapper); + Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); + if (orderSampleRelationOptional.isPresent()) { + BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); + if (businessOrderSampleRelation.getSampleStatus().equals(TO_ALLOCATE)) { + BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); + businessOrderSample.setRealDeliverTime(DateUtil.format(new Date(), "yyyy-MM-dd")); + int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); + return updateFlag > 0 ? true : false; + } + } + } + return true; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java index 4f06678..e2fea21 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerAdviceMapper; import com.casic.missiles.mapper.customer.CustomerMapper; @@ -34,7 +35,7 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerAdviceServiceImpl implements CustomerAdviceService { +public class CustomerAdviceServiceImpl implements CustomerAdviceService,PrefixCodeEnum { private final CustomerAdviceMapper customerAdviceMapper; private final IBaseExportService iBaseExportService; @@ -122,7 +123,7 @@ private void initCustomerAdviceInfo(CustomerAdviceInfo customerAdviceInfo) { Long maxNo = customerAdviceMapper.selectMaxAdviceNo(); - String adviceNo = NumberGeneratorUtil.getContactNo("khjy", maxNo); + String adviceNo = NumberGeneratorUtil.getContactNo(CUSTOMER_ADVICE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerAdviceInfo.setCreateUser(authUser.getId()); customerAdviceInfo.setUpdateUser(authUser.getId()); 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 4889e55..f9747dd 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 @@ -10,18 +10,19 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.sample.CertificationExpireStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; import com.casic.missiles.mapper.customer.CustomerMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerSampleListResponseMapper; import com.casic.missiles.mapper.customer.CustomerSampleMapper; -import com.casic.missiles.mapper.customer.customize.MesureRecordsResponseMapper; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -42,13 +43,11 @@ @Service @AllArgsConstructor -public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService { +public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService, CertificationExpireStatusEnum,PrefixCodeEnum{ private final CustomerSampleListResponseMapper customerSampleListResponseMapper; private final CustomerMapper customerMapper; private final IBaseExportService iBaseExportService; - private final CertificationResponseMapper certificationResponseMapper; - private final MesureRecordsResponseMapper mesureResponseMapper; private final BusinessOrderSampleRelationMapper sampleRelationMapper; @Override @@ -58,14 +57,14 @@ customerSamplePage.getRecords() .forEach(customerSample -> { BusinessOrderSampleRelation businessOrderSampleRelation = this.getSampleStatusById(customerSample.getId()); + customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); - customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); } }); for (CustomerSampleListResponse customerSampleListResponse : customerSamplePage.getRecords()) { - if (!StringUtils.isEmpty(customerSampleListResponse.getSampleSatus())) { + if (!StringUtils.isEmpty(customerSampleListResponse.getSampleStatus())) { DictCodeUtils.convertDictCodeToName(customerSampleListResponse); } } @@ -106,14 +105,13 @@ public CustomerSampleInfo sampleDetail(Long id) { CustomerSampleInfo customerSampleInfo = this.baseMapper.selectById(id); if (!ObjectUtils.isEmpty(customerSampleInfo)) { - doCustomerSampleInfoPopulation(customerSampleInfo); + doPopulateCustomerSampleInfo(customerSampleInfo); } return customerSampleInfo; } /** * 只导出样品列表信息 - * */ @Override public void sampleExport(CustomerSampleListRequest request, HttpServletResponse response) { @@ -135,7 +133,7 @@ BusinessOrderSampleRelation businessOrderSampleRelation = businessOrderMap.get(customerSample.getId()); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); } } @@ -159,26 +157,16 @@ } @Override - public Page measureRecordsBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page measureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); + public Page measureRecordsById(CustomerSampleIdRequest customerSampleIdRequest) { + Page page = PageFactory.defaultPage(); + Page measureRecordsResponsePage = this.baseMapper.measureRecordsById(page, customerSampleIdRequest); return measureRecordsResponsePage; } - @Override - public Page certificationBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page certificateResponsePage = certificationResponseMapper.selectPage(page, wrapper); - return certificateResponsePage; - } @Override - public Page samplesByOderId(Page page,Long orderId, String sampleNo, String sampleName) { - return this.baseMapper.samplesByOderId(page,orderId,sampleNo,sampleName); + public Page samplesByOderId(Page page, Long orderId, String sampleNo, String sampleName) { + return this.baseMapper.samplesByOderId(page, orderId, sampleNo, sampleName); } private BusinessOrderSampleRelation getSampleStatusById(Long sampleId) { @@ -190,9 +178,12 @@ return orderSampleOptional.isPresent() ? orderSampleOptional.get() : null; } + /** + * 初始化样品状态 + */ private void initSample(CustomerSampleInfo customerSampleInfo) { Long maxNo = this.baseMapper.selectMaxSampleNo(); - String sampleNo = NumberGeneratorUtil.getContactNo("khyp", maxNo); + String sampleNo = NumberGeneratorUtil.getContactNo(SAMPLE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setSampleNo(sampleNo); customerSampleInfo.setCreateUser(authUser.getId()); @@ -202,7 +193,6 @@ private QueryWrapper listParamWrapper(CustomerSampleListRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.select("id,sample_no,sample_name,sample_model,manufacturing_no,customer_id,measure_period,measure_last_time,remark,valid_deadline"); queryWrapper.like(StringUtils.isNotBlank(request.getSampleNo()), "sample_no", request.getSampleNo()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleName()), "sample_name", request.getSampleName()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleBelong()), "sample_belong", request.getSampleBelong()); @@ -210,9 +200,10 @@ queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); if (!StringUtils.isEmpty(request.getOvertimeStatus())) { - queryWrapper.apply(request.getOvertimeStatus().equals("1"), + queryWrapper.apply("1".equals(request.getOvertimeStatus()), + "sysdate() > DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); - queryWrapper.apply(request.getOvertimeStatus().equals("0"), + queryWrapper.apply("0".equals(request.getOvertimeStatus()), "sysdate() <= DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); } queryWrapper.apply(StringUtils.isNotBlank(request.getStartTime()), @@ -224,24 +215,30 @@ return queryWrapper; } + /** + * 通过证书到期时间进行到期状态的计算 + */ private String calculateCertificationStatus(String validDeadline) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if (StringUtils.isEmpty(validDeadline)) { - return "0"; + return NORMAL; } - if (validDeadline.compareTo(sdf.format(new Date())) > 0) { - return "2"; + if (validDeadline.compareTo(sdf.format(new Date())) < 0) { + return ALREADY_EXPIRE; } Calendar date = Calendar.getInstance(); date.setTime(new Date()); date.add(Calendar.DAY_OF_MONTH, -30); - if (validDeadline.compareTo(sdf.format(date.getTime())) > 0) { - return "1"; + if (validDeadline.compareTo(sdf.format(date.getTime())) < 0) { + return ALMOST_EXPIRE; } - return "0"; + return NORMAL; } - private void doCustomerSampleInfoPopulation(CustomerSampleInfo customerSampleInfo) { + /** + * 对样品列表的进行供应商联系方式的填充 + */ + private void doPopulateCustomerSampleInfo(CustomerSampleInfo customerSampleInfo) { CustomerInfo customerInfo = customerMapper.selectById(customerSampleInfo.getCustomerId()); if (!ObjectUtils.isEmpty(customerInfo)) { customerSampleInfo.setPhone(customerInfo.getPhone()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java index 32d4dee..f6e1f8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java @@ -11,13 +11,12 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerMapper; import com.casic.missiles.mapper.customer.CustomerUserMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerInfoResponseMapper; import com.casic.missiles.mapper.customer.customize.SampleRecordsResponseMapper; import com.casic.missiles.model.customer.CustomerInfo; @@ -38,11 +37,10 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerServiceImpl extends ServiceImpl implements CustomerService { +public class CustomerServiceImpl extends ServiceImpl implements CustomerService,PrefixCodeEnum { private final SampleRecordsResponseMapper sampleRecordsResponseMapper; private final CustomerUserMapper customerUserMapper; - private final CertificationResponseMapper certificationMapper; private final IBaseExportService iBaseExportService; private final CustomerInfoResponseMapper customerInfoResponseMapper; @@ -126,18 +124,9 @@ return contractRecordsResponsePage; } - @Override//暂定不做 - public Page mesureRecordsByCustomerId(Long customerId) { - Page measureRecordsResponsePage = PageFactory.defaultPage(); - return measureRecordsResponsePage; - } - @Override public Page certificationByCustomerId(Long customerId) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("customer_id", customerId); - return certificationMapper.selectPage(page, wrapper); + return null; } @Override @@ -163,8 +152,7 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); - queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "bussiness_size", request.getBusinessSize()); - queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); + queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "business_size", request.getBusinessSize()); queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); queryWrapper.eq("is_del", 0); return queryWrapper; @@ -172,7 +160,7 @@ private void initCustomerInfo(CustomerInfo customerInfo) { Long maxNo = this.baseMapper.selectMaxCustomerNo(); - String customerNo = NumberGeneratorUtil.getContactNo("khxx", maxNo); + String customerNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CUSTOMER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerInfo.setCreateUser(authUser.getId()); customerInfo.setUpdateUser(authUser.getId()); @@ -196,7 +184,7 @@ boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { customerUserInfo.setCustomerId(id); - String customerNo = NumberGeneratorUtil.getContactNo("khyh", maxUserNo++); + String customerNo = NumberGeneratorUtil.getContactNo(CUSTOMER_USER_PREFIX, maxUserNo++); customerUserInfo.setUserNo(customerNo); int userAddNum = customerUserMapper.insert(customerUserInfo); if (userAddNum <= 0) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java index d81a488..77e4caf 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java @@ -13,9 +13,10 @@ import com.casic.missiles.dto.equipment.AcceptanceCheckRequest; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentAcceptanceCheckMapper; @@ -183,7 +184,7 @@ public ReturnDTO addAcceptanceCheck(EquipmentApply equipmentApply) { Long maxNo = equipmentApplyMapper.selectMaxNo(); // 生成编号 - String applyNo = NumberGeneratorUtil.getContactNo("sbjxbyysd", maxNo); + String applyNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.REPAIR_MAINTAIN_PREFIX, maxNo); equipmentApply.setApplyNo(applyNo); // 草稿箱状态 equipmentApply.setApprovalStatus(ApprovalStatusEnum.DRAFT); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java index 38ad4e9..d468012 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java @@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.base.service.IBaseExportService; -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.IdDTO; @@ -20,6 +19,9 @@ import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java index 7c4fdbc..e6a1ff8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.equipment.CheckInfoRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoFileMapper; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoMapper; @@ -79,7 +80,7 @@ @Transactional public ReturnDTO addCheckInfo(EquipmentCheckInfo equipmentCheckInfo) { long maxNo = equipmentCheckInfoMapper.selectMaxNo(); - String checkNo = NumberGeneratorUtil.getContactNo("jc", maxNo); + String checkNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CHECK_PREFIX, maxNo); equipmentCheckInfo.setCheckNo(checkNo); if(equipmentCheckInfoMapper.insert(equipmentCheckInfo) > 0){ Long id = equipmentCheckInfo.getId(); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java index ba6a600..7ff9c16 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.equipment; -import cn.hutool.core.io.unit.DataUnit; import com.alibaba.excel.util.DateUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -13,7 +12,8 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.FixedAssetRequest; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentFixedAssetFileMapper; @@ -131,7 +131,7 @@ validManufacturingNo(meterFixedAssets); //生成资产编号 Long maxNo = meterFixedAssetsMapper.selectMaxNo(); - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); meterFixedAssets.setAssetNo(asset_no); meterFixedAssets.setEquipmentNo(asset_no); meterFixedAssetsMapper.insert(meterFixedAssets); @@ -164,7 +164,7 @@ //需要根据出厂编号判重 validManufacturingNo(item); //生成资产编号 - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); item.setAssetNo(asset_no); item.setEquipmentNo(asset_no); maxNo++; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java index 3e63a5a..2b29aa7 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java @@ -18,6 +18,8 @@ import com.casic.missiles.dto.equipment.StandardEquipmentApplyRequest; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.StandardApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java index caa63a7..afa6905 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java @@ -10,9 +10,9 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.StandardEquipmentRequest; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentFileMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentMapper; -import com.casic.missiles.model.equipment.EquipmentApply; import com.casic.missiles.model.equipment.EquipmentStandardEquipment; import com.casic.missiles.model.equipment.EquipmentStandardEquipmentFile; import com.casic.missiles.model.page.PageQuery; @@ -74,7 +74,7 @@ public ReturnDTO add(EquipmentStandardEquipment meterStandardEquipment) { //生成资产编号 Long maxNo = meterStandardEquipmentMapper.selectMaxNo(); - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); meterStandardEquipment.setStandardNo(standard_no); meterStandardEquipmentMapper.insert(meterStandardEquipment); // 插入文件列表 @@ -129,7 +129,7 @@ } DictCodeUtils.validDictCode(item); //生成资产编号 - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); item.setStandardNo(standard_no); maxNo++; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java index 481cf64..b749b2e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java @@ -2,7 +2,6 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.dto.IdDTO; @@ -12,7 +11,7 @@ import com.casic.missiles.dto.equipment.StateManageResponse; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java index 5dd6f8e..e566e01 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.EquipmentWorkbenchResponse; -import com.casic.missiles.enums.ApplyFromIdEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java index f3b9c4f..485287a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java @@ -6,7 +6,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.system.dao.DeptMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java index ce076b0..c20feb0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java @@ -4,7 +4,6 @@ import cn.hutool.core.lang.Assert; import cn.hutool.core.util.ObjectUtil; import com.alibaba.excel.util.DateUtils; -import com.alibaba.excel.util.StringUtils; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -22,18 +21,18 @@ import com.casic.missiles.dto.meter.MeterCertificateImport; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.enums.*; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterRoleTypeEnum; +import com.casic.missiles.enums.workbench.MessageTypeEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.meter.MeterCertificateExpireMessageMapper; import com.casic.missiles.mapper.meter.MeterCertificateMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.sys.UserInfoMapper; import com.casic.missiles.mapper.workbench.WorkbenchRemindMessageMapper; import com.casic.missiles.model.meter.MeterCertificate; -import com.casic.missiles.model.meter.MeterCertificateExpireMessage; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.model.system.UserInfo; import com.casic.missiles.model.workbench.WorkbenchRemindMessage; -import com.casic.missiles.service.meter.MeterCertificateExpireMessageService; import com.casic.missiles.service.meter.MeterCertificateService; import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; import com.casic.missiles.utils.ExportUtils; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java index ecf1fc3..e84f4d6 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java @@ -17,10 +17,11 @@ import com.casic.missiles.dto.meter.FileApprovalListResponse; import com.casic.missiles.dto.meter.FileListRequest; import com.casic.missiles.dto.meter.FileSaveResponse; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EffectiveStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.EffectiveStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterFileMapper; import com.casic.missiles.model.meter.MeterFile; @@ -92,7 +93,7 @@ public ReturnDTO saveFile(MeterFile file) { //生成文件编号 Long maxNo = meterFileMapper.selectMaxFileNo(); - String fileNo = NumberGeneratorUtil.getContactNo("jlwj", maxNo); + String fileNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FILE_PREFIX, maxNo); file.setFileNo(fileNo); file.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 Assert.isFalse(Objects.isNull(ShiroKit.getUser()), () -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java index 000e58a..467f03d 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java @@ -10,7 +10,8 @@ import com.casic.missiles.dto.meter.ParentDeptRequest; import com.casic.missiles.dto.meter.ParentDeptResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.model.meter.MeterOrganize; @@ -101,7 +102,7 @@ public int addOrganize(Dept dept) { //生成组织编号 Long maxNo = organizeMapper.selectMaxOrganizeNo(); - String organizeNo = NumberGeneratorUtil.getContactNo("jlzz", maxNo); + String organizeNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.ORGANIZE_PREFIX, maxNo); MeterOrganize meterOrganize = new MeterOrganize(); meterOrganize.setDeptId(dept.getId()); meterOrganize.setPDeptId(dept.getPid()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java index 7c3f9cf..643ba4c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java @@ -13,7 +13,8 @@ import com.casic.missiles.dto.meter.MeterPriceRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterPriceCategoryMapper; import com.casic.missiles.mapper.meter.MeterPriceItemMapper; @@ -83,7 +84,7 @@ MeterPriceItem item = new MeterPriceItem(null,priceCategory.getId(),meterPrice.getItemName()); if(categoryFlag>0 && meterPriceItemMapper.insert(item)>0){ Long maxNo = meterPriceMapper.getMaxNo(); - String priceNo = NumberGeneratorUtil.getContactNo("jg", maxNo); + String priceNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.PRICE_PREFIX, maxNo); meterPrice.setPriceNo(priceNo); meterPrice.setPriceType(priceCategory.getId().toString()); meterPrice.setPriceItem(item.getId().toString()); @@ -178,7 +179,7 @@ // 校验通过 AtomicLong maxNo = new AtomicLong(meterPriceMapper.getMaxNo()); list.forEach(bean->{ - String priceNo = NumberGeneratorUtil.getContactNo("jg", maxNo.get()); + String priceNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.PRICE_PREFIX, maxNo.get()); maxNo.set(Long.parseLong(priceNo.substring(2))); Long id= IdWorker.getId(); bean.setId(id); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java index 7c4a1a1..f79bb8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java @@ -15,7 +15,8 @@ import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterCertificateMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; @@ -42,7 +43,6 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; -import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.concurrent.atomic.AtomicBoolean; @@ -139,7 +139,7 @@ } long maxNo = meterStaffMapper.getMaxNo(); meterStaff.setIsDel(0); - String staffNo = NumberGeneratorUtil.getContactNo("jlry", maxNo); + String staffNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STAFF_PREFIX, maxNo); meterStaff.setStaffNo(staffNo); if(meterStaffMapper.insert(meterStaff)>0){ Long id = meterStaff.getId(); @@ -263,7 +263,7 @@ AtomicLong maxNo = new AtomicLong(meterStaffMapper.getMaxNo()); list.forEach(bean->{ // 生成编号 - String staffNo = NumberGeneratorUtil.getContactNo("jlry", maxNo.get()); + String staffNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STAFF_PREFIX, maxNo.get()); maxNo.set(Long.parseLong(staffNo.substring(4))); bean.setStaffNo(staffNo); // 获取id diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java index 535581f..0beebb1 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java @@ -14,9 +14,10 @@ import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.meter.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterTraceSupplierMapper; import com.casic.missiles.model.meter.MeterTraceSupplier; @@ -92,7 +93,7 @@ public ReturnDTO saveTraceSupplier(MeterTraceSupplier traceSupplier) { //生成编号 Long maxNo = traceSupplierMapper.selectMaxSupplierNo(); - String supplierNo = NumberGeneratorUtil.getContactNo("sygf", maxNo); + String supplierNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.TRACE_SUPPLIER_PREFIX, maxNo); traceSupplier.setSupplierNo(supplierNo); traceSupplier.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 Assert.isFalse(Objects.isNull(ShiroKit.getUser()), () -> { @@ -106,7 +107,7 @@ //存储溯源供方人员信息 boolean saveBatchFlag = true; List traceSupplierPersonList = traceSupplier.getTraceSupplierPersonList(); - if(!CollectionUtils.isEmpty(traceSupplierPersonList)){ + if (!CollectionUtils.isEmpty(traceSupplierPersonList)) { traceSupplierPersonList.forEach(person -> { person.setSupplierId(traceSupplier.getId()); }); @@ -119,7 +120,7 @@ //存储溯源供方标准装置信息 boolean saveBatchFlag2 = true; List standardEquipmentIds = traceSupplier.getStandardEquipmentIds(); - if(!CollectionUtils.isEmpty(standardEquipmentIds)){ + if (!CollectionUtils.isEmpty(standardEquipmentIds)) { List equipmentList = new ArrayList<>(); standardEquipmentIds.forEach(id -> { MeterTraceSupplierStandardEquipment equipment = new MeterTraceSupplierStandardEquipment(); @@ -154,7 +155,7 @@ traceSupplierPersonService.remove(wrapper); boolean saveFlag = true; //溯源供方人员可能为空 - if(!CollectionUtils.isEmpty(traceSupplierPersonList)){ + if (!CollectionUtils.isEmpty(traceSupplierPersonList)) { //再增加 traceSupplierPersonList.forEach(person -> { person.setSupplierId(traceSupplier.getId()); @@ -169,7 +170,7 @@ meterTraceSupplierStandardEquipmentService.remove(wrapper1); boolean saveBatchFlag2 = true; List standardEquipmentIds = traceSupplier.getStandardEquipmentIds(); - if(!CollectionUtils.isEmpty(standardEquipmentIds)){ + if (!CollectionUtils.isEmpty(standardEquipmentIds)) { List equipmentList = new ArrayList<>(); standardEquipmentIds.forEach(id -> { MeterTraceSupplierStandardEquipment equipment = new MeterTraceSupplierStandardEquipment(); @@ -195,10 +196,10 @@ String formId = request.getFormId(); ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); MeterTraceSupplier traceSupplier = new MeterTraceSupplier(); traceSupplier.setId(request.getId()); @@ -225,9 +226,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //本地删除 - if(traceSupplierMapper.deleteById(request.getId()) > 0){ + if (traceSupplierMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -267,16 +268,16 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -288,7 +289,7 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.IN_APPROVED); } @@ -296,7 +297,7 @@ //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.PASSED); } @@ -305,12 +306,12 @@ case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { List rejectList = traceSupplierMapper.selectBatchForApproval(page, request, rejectBusinessKey); rejectApprovalList = handleApprovalListResponse(approvalList, rejectList, ApprovalStatusEnum.FAILED_REJECT); } @@ -320,7 +321,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.CANCELED); } @@ -330,10 +331,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleAllApprovalListResponse(approvalList, list, AllApproveList); } @@ -343,9 +344,11 @@ } private List handleAllApprovalListResponse(List approvalList, List list, List allApproveList) { - Map taskMap = new HashMap<>(); + Map taskMap = new HashMap<>(); approvalList = ConvertUtils.sourceToTarget(list, TraceSupplierApprovalListResponse.class); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -369,7 +372,7 @@ @Override public ReturnDTO deleteTraceSupplier(Long id) { - if(traceSupplierMapper.deleteById(id) > 0){ + if (traceSupplierMapper.deleteById(id) > 0) { return ReturnUtil.success(); } return ReturnUtil.failed("刪除失败"); @@ -377,7 +380,7 @@ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - if(traceSupplierMapper.deleteBatchIds(ids) > 0){ + if (traceSupplierMapper.deleteBatchIds(ids) > 0) { return ReturnUtil.success(); } return ReturnUtil.failed("删除失败"); @@ -400,6 +403,7 @@ wrapper.eq("id", 12344321); return wrapper; } + wrapper.like(StringUtils.isNotBlank(request.getSupplierNo()), "supplier_no", request.getSupplierNo()); wrapper.like(StringUtils.isNotBlank(request.getSupplierName()), "supplier_name", request.getSupplierName()); wrapper.like(StringUtils.isNotBlank(request.getBusinessContent()), "business_content", request.getBusinessContent()); @@ -409,7 +413,7 @@ return wrapper; } - private List handleApprovalListResponse(List approvalList, List list, String status){ + private List handleApprovalListResponse(List approvalList, List list, String status) { approvalList = ConvertUtils.sourceToTarget(list, TraceSupplierApprovalListResponse.class); approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java index 0fd9403..bec30c8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.meter.TrainLogListRequest; import com.casic.missiles.dto.meter.TrainLogUpdateRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterTrainLogMapper; import com.casic.missiles.mapper.meter.MeterTrainStaffMapper; @@ -58,7 +59,7 @@ public ReturnDTO addTrainLog(TrainLogAddRequest request) { //生成编号 Long maxNo = trainLogMapper.selectMaxTrainLogNo(); - String logNo = NumberGeneratorUtil.getContactNo("pxjl", maxNo); + String logNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.TRAIN_LOG_PREFIX, maxNo); MeterTrainLog meterTrainLog = ConvertUtils.sourceToTarget(request, MeterTrainLog.class); meterTrainLog.setLogNo(logNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java index e4f4dcb..e3d0750 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java @@ -14,9 +14,10 @@ import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.meter.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.meter.MeterTrainPlanMapper; @@ -98,7 +99,7 @@ public ReturnDTO saveTrainPlan(MeterTrainPlan trainPlan) { //生成编号 Long maxNo = trainPlanMapper.selectMaxTrainPlanNo(); - String planNo = NumberGeneratorUtil.getContactNo("pxjh", maxNo); + String planNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.TRAIN_PLAN_PREFIX, maxNo); trainPlan.setPlanNo(planNo); trainPlan.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 Assert.isFalse(Objects.isNull(ShiroKit.getUser()), () -> { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java new file mode 100644 index 0000000..e196dda --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Builder; +import lombok.Data; + +/** + * @author cz + */ +@Data +@Builder +public class NotifyEventStatusDTO { + + /** + * 业务表主键 + */ + private String id; + /** + * 业务表状态 + */ + private String status; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java index 65c19e3..0f3e84f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java @@ -74,7 +74,7 @@ /** * 部门/科室/工程组名称 */ - @ExcelProperty("组织编号") + @ExcelProperty("组织名称") @ApiModelProperty(value = "计量组织名称", dataType = "String", required = true) @NotBlank(message = "计量组织名称不能为空") @TableField("organize_name") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java index 54dc5cd..244e431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java @@ -84,7 +84,7 @@ * 签名用户id(一个用户一个签名,签名不使用关联表,签章暂时使用和使用人的关联表) */ @TableField("sign_user_id") - private String signUserId; + private Long signUserId; /** * 签章或签名-字典code diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java index ca20ca4..0e94b9e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 2f97cb3..fdc4bf0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -3,7 +3,6 @@ import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -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; @@ -17,9 +16,10 @@ import com.casic.missiles.dto.flowable.ApprovalAgreeRequest; import com.casic.missiles.dto.flowable.ApprovalRefuseRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -42,10 +42,9 @@ */ @Service @AllArgsConstructor -public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { +public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService, CertificatePrintStatusEnum { private final IBaseApprovalService baseApprovalService; - private final AbstractDictService dictService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; @@ -86,7 +85,7 @@ } /** - * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 * * @return */ @@ -103,7 +102,7 @@ BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); //设置为不能打印 - certificateReport.setPrintStatus("2"); + certificateReport.setPrintStatus(NON_PRINTABLE); certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { @@ -113,7 +112,7 @@ } /** - * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 */ @Transactional @Override @@ -128,7 +127,7 @@ //审批状态为审批中 certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //打印状态审批中 - certificateReport.setPrintStatus("3"); + certificateReport.setPrintStatus(IN_APPROVAL); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -142,7 +141,7 @@ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)&&CollectionUtils.isEmpty(request.getIds())) { - handlerBeApproved(approvalList, page, request); + approvalList=handlerBeApproved(approvalList, page, request); }else { approvalList=this.baseMapper.selectBatchForApprovalList(page, request, null); } 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 d03ab22..164c53a 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,17 +7,22 @@ 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.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; -import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +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.MonitorCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -26,9 +31,9 @@ import com.casic.missiles.service.business.IBusinessCertificateReportService; import com.casic.missiles.service.business.IBusinessOriginalRecordService; import com.casic.missiles.service.flowable.ApprovalOperateService; -import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; +import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.runtime.ProcessInstance; @@ -68,8 +73,10 @@ private RuntimeService runtimeService; @Resource private IBaseExportService iBaseExportService; + /** * 保存证书报告信息 + * * @param certificateReport * @return */ @@ -77,7 +84,7 @@ public ReturnDTO saveCertificateReport(BusinessCertificateReport certificateReport) { initCertificateReport(certificateReport); - if(this.baseMapper.insert(certificateReport)>0) + if (this.baseMapper.insert(certificateReport) > 0) return ReturnUtil.success(); throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -90,9 +97,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //删除数据库记录 - if(this.baseMapper.deleteById(request.getId()) > 0){ + if (this.baseMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -101,7 +108,7 @@ @Override public ReturnDTO draftUpdate(BusinessCertificateReport certificateReport) { - if(this.baseMapper.updateById(certificateReport)>0){ + if (this.baseMapper.updateById(certificateReport) > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -109,25 +116,27 @@ /** * 批量删除 + * * @param ids * @return */ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - return baseMapper.deleteBatchIds(ids) > 0?ReturnUtil.success(): + return baseMapper.deleteBatchIds(ids) > 0 ? ReturnUtil.success() : ReturnUtil.failed("删除失败"); } /** * 证书报告详情 + * * @param id * @return */ @Override public BusinessCertificateReport certificateReportDetail(Long id) { BusinessCertificateReport certificateReport = this.baseMapper.selectById(id); - if(certificateReport.getOriginalRecordId()!=null){ + if (certificateReport.getOriginalRecordId() != null) { try { certificateReport.setBusinessOriginalRecord(originalRecordService.originalDetail(certificateReport.getOriginalRecordId())); } catch (Exception e) { @@ -139,6 +148,7 @@ /** * 提交证书报告 + * * @param request * @return */ @@ -148,10 +158,10 @@ String formId = request.getFormId(); //2.根据流程定义id启动流程实例 ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); certificateReport.setApprovalStatus(ApprovalStatusEnum.UN_DRAFT); //非草稿状态 @@ -165,6 +175,7 @@ /** * 审批状态列表查询 + * * @param page * @param request * @return @@ -182,6 +193,7 @@ /** * 驳回后更新 + * * @param certificateReport * @return */ @@ -208,13 +220,14 @@ @Override public void originExport(CertificateReportApprovalRequest request, HttpServletResponse response) { try { - //toDo: -// List certificateReportResponses = this.certificateReport(request); -// for (OriginRecordResponse originRecordResponse : originExportList) { -// //字典值转换 -// DictCodeUtils.convertDictCodeToName(originRecordResponse); -// } -// iBaseExportService.exportExcel(response, CertificateReportResponse.class, originExportList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); + //登录用户 + AuthUser user = ShiroKit.getUser(); + Assert.isFalse(Objects.isNull(user), () -> { + throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); + }); + request.setCreateUserId(user.getId()); + List reportResponseList = handleApprovalStatus(null, request); + iBaseExportService.exportExcel(response, CertificateReportResponse.class, reportResponseList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); } catch (Exception e) { log.error("证书报告导出出现异常,异常信息为{}", e); } @@ -231,15 +244,15 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -251,27 +264,27 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ - approvalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); + if (!CollectionUtils.isEmpty(businessKeys)) { + approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ - rejectApprovalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { + rejectApprovalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -279,7 +292,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.CANCELED); } break; @@ -288,10 +301,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleAllApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), AllApproveList); } break; @@ -299,9 +312,26 @@ return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List allApproveList) { - Map taskMap = new HashMap<>(); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + /** + * 客户、样品详情列表 + */ + @Override + public Page certificateRecordsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception { + Page page = PageFactory.defaultPage(); + Page certificateResponsePage = this.baseMapper.certificateRecordsById(page, customerSampleIdRequest); + for (CertificationResponse customerSampleListResponse : certificateResponsePage.getRecords()) { + if (!StringUtils.isEmpty(customerSampleListResponse.getCertificationClass())) { + DictCodeUtils.convertDictMultiCodeToName(customerSampleListResponse); + } + } + return certificateResponsePage; + } + + private List handleAllApprovalListResponse(List approvalList, List allApproveList) { + Map taskMap = new HashMap<>(); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -313,7 +343,7 @@ return approvalList.stream().sorted(Comparator.comparing(CertificateReportResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, String status){ + private List handleApprovalListResponse(List approvalList, String status) { approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); @@ -324,14 +354,14 @@ private void initCertificateReport(BusinessCertificateReport certificateReport) { String prefix = MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue() - +DateUtil.format(new Date(),"YYYYMM"); + + DateUtil.format(new Date(), "YYYYMM"); Long maxNo = this.baseMapper.selectMaxCode(prefix); //生成证书编号 - String certificateReportNo =NumberGeneratorUtil.getCode( - MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(),maxNo); + String certificateReportNo = NumberGeneratorUtil.getCode( + MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(), maxNo); AuthUser authUser = ShiroKit.getUser(); certificateReport.setCreateUser(authUser.getId()); - certificateReport.setMeasurePersonId(authUser.getId()+""); + certificateReport.setMeasurePersonId(authUser.getId() + ""); certificateReport.setMeasureDeptId(authUser.getDeptId()); certificateReport.setCertificateReportCode(certificateReportNo); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index c4ed5f6..5456773 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -12,13 +12,12 @@ import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; import com.casic.missiles.mapper.business.EnvironmentListResponseMapper; import com.casic.missiles.model.business.BusinessEnvironmentRecord; -import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 859010b..0d847a0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessInterchangeMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; @@ -35,7 +36,7 @@ * 业务管理-设备交接单 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @@ -83,7 +84,7 @@ } /** - * 更新不对样品有任何操作 + * 更新只是交接单的变更,没有任何其他单位的变化 */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { @@ -94,6 +95,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 交接单新增,同时在样品委托书管理表中新增交接单记录id + */ @Override @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { @@ -111,6 +115,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 选中判断ids存在,进行其他条件的清空 + */ @Override public void exportExchange(InterchangeListRequest request, HttpServletResponse response) { try { @@ -153,7 +160,7 @@ private void populationExchange(BusinessInterchange businessInterchange) { Long maxNo = this.baseMapper.selectMaxExchangeNo(); - String orderNo = NumberGeneratorUtil.getContactNo("jjdh", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.INTER_CHANGE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessInterchange.setCreateUser(authUser.getId()); businessInterchange.setInterchangeCode(orderNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java index 585a207..955cc7a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java @@ -13,19 +13,18 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.*; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.HandOutPropertyEnum; -import com.casic.missiles.enums.MeasureStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.HandOutPropertyEnum; +import com.casic.missiles.enums.business.MeasureStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.*; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; -import com.casic.missiles.model.business.BusinessLabExecutiveInfo; -import com.casic.missiles.model.business.BusinessLabExecutiveOperateLog; -import com.casic.missiles.model.business.BusinessLabExecutiveTemplateInfo; +import com.casic.missiles.model.business.*; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; import com.casic.missiles.service.business.IBusinessLabExecutiveTemplateInfoService; @@ -71,6 +70,8 @@ private AbstractDictService dictService; @Autowired private MeterStaffMapper staffMapper; + @Autowired + private BusinessOrderMapper orderMapper; @Override public Page handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) throws Exception{ @@ -377,7 +378,9 @@ if(CollectionUtils.isEmpty(unExecutiveInfos)){ //更新样品状态为检测完 orderSampleRelationMapper.updateByOrderIdAndSampleId(pre.getOrderId(), pre.getSampleId(), SampleStatusEnum.MEASURE_COMPLETE); - // TODO: 2023/2/17 委托书中所有样品检测完更新委托书接收状态为检测完成,需求待定 + + //委托书中所有样品检测完更新委托书接收状态为检测完成,未检测完的数量为0则表示全部检完 + updateOrderStatusComplete(pre); //将检测记录加入到实验室检测模板(仅全部为检测完成的才加入到模板,包含终止的不会加入) List labList = new ArrayList<>(); @@ -407,9 +410,27 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + @Transactional + public void updateOrderStatusComplete(SampleOperateRequest pre) { + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("order_id", pre.getOrderId()); + List statusList = new ArrayList<>(); + statusList.add(SampleStatusEnum.TO_RECEIVE); + statusList.add(SampleStatusEnum.TO_HANDOUT); + statusList.add(SampleStatusEnum.IN_MEASURE); + wrapper1.in("sample_status", statusList); + //同一事务中可查到更新后的数量 + if(orderSampleRelationMapper.selectCount(wrapper1) == 0){ + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(pre.getOrderId()); + businessOrder.setStatus(OrderStatusEnum.COMPLETE); + orderMapper.updateById(businessOrder); + } + } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + String templateCode = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.LAB_EXECUTIVE_TEMPLATE_PREFIX, maxNo + i); templateInfo.setTemplateCode(templateCode); // templateInfo.setSampleTypeId(); templateInfo.setSampleId(lab.getSampleId()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index f5c6f61..1d63554 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -14,6 +14,10 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; +import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; @@ -35,7 +39,6 @@ import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -45,12 +48,12 @@ * 业务管理-委托书 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @AllArgsConstructor -public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { +public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService,PrefixCodeEnum, OrderStatusEnum,SampleStatusEnum, MeasureTypeEnum { private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; @@ -90,8 +93,10 @@ List customerSampleList = new ArrayList<>(); for (BusinessOrderSampleRelation orderSample : orderSampleList) { CustomerSampleInfo customerSampleInfo = customerSampleService.sampleDetail(orderSample.getSampleId()); - customerSampleInfo.setIsExistSample("1"); - customerSampleList.add(customerSampleInfo); + if (null != customerSampleInfo) { + customerSampleInfo.setIsExistSample("1"); + customerSampleList.add(customerSampleInfo); + } } businessOrder.setCustomerSampleInfoList(customerSampleList); return businessOrder; @@ -202,7 +207,13 @@ @Override public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); - String dealType = "委托书" + ((status.equals("2")) ? "接收" : "退回"); + String dealType = ""; + if (status.equals(ALREADY_RECEIVED)) { + dealType = "委托书接收" ; + doUpdateSampleStatus(orderCancelRequest.getId(),TO_RECEIVE); + } else { + dealType = "委托书退回"; + } int addDealRecordFlag = addDealRecord(orderCancelRequest, dealType); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -216,7 +227,7 @@ @Override @Transactional public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { - int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), ALREADY_CANCEL); int addDealRecordFlag = addDealRecord(orderCancelRequest, "委托书取消"); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -250,6 +261,7 @@ return dealRecordMapper.insert(businessDealRecord); } + /** * 强调正在做状态更新 */ @@ -280,12 +292,12 @@ private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); - String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(ORDER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); - businessOrder.setStatus("1"); + businessOrder.setStatus(NOT_RECEIVED); } /** @@ -320,10 +332,23 @@ sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); - sampleStatusPopulation.setMeasureType("1"); + sampleStatusPopulation.setMeasureType(INSIDE_MEASURE); return this.sampleRelationMapper.insert(sampleStatusPopulation); } + /** + * 强调正在做状态更新 + */ + private int doUpdateSampleStatus(Long orderId, String sampleStatus) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", orderId); + BusinessOrderSampleRelation orderSample = new BusinessOrderSampleRelation(); + orderSample.setId(orderId); + orderSample.setSampleStatus(sampleStatus); + return this.sampleRelationMapper.update(orderSample, queryWrapper); + } + + private void doSampleListPopulation(BusinessOrder businessOrder) { businessOrder.getCustomerSampleInfoList().forEach( customerSampleInfo -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java index 1e35b7a..1c602b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java @@ -131,7 +131,7 @@ @Override public ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord) { - if (this.baseMapper.insert(businessOriginalRecord) > 0) { + if (this.baseMapper.updateById(businessOriginalRecord) > 0) { //加入技术文件绑定 if (ObjectUtil.isNotEmpty(businessOriginalRecord.getFileList()) && businessOriginalRecord.getFileList().size() > 0) { originalRecordFileRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getFileList()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java index 07c88e9..c9c1902 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.date.DateUtil; import com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -14,6 +15,7 @@ import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; @@ -29,6 +31,7 @@ import org.springframework.util.ObjectUtils; import javax.servlet.http.HttpServletResponse; +import java.util.Date; import java.util.List; import java.util.Objects; import java.util.Optional; @@ -39,7 +42,7 @@ @Service @Slf4j @AllArgsConstructor -public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService { +public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService, SampleStatusEnum, CurrentSegmentEnum, MeasureTypeEnum { private final BusinessOrderSampleRelationMapper orderSampleRelationMapper; private final BusinessCertificateReportMapper certificateReportMapper; @@ -73,20 +76,20 @@ Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.TO_HANDOUT: + case TO_HANDOUT: //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 - case SampleStatusEnum.IN_MEASURE: + case IN_MEASURE: //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.MEASURE_COMPLETE: + case MEASURE_COMPLETE: doDispatchVoPopulation(dispatchVO, sampleId, orderId); return; //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 - case SampleStatusEnum.BE_OVERDUE: + case BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); @@ -126,12 +129,14 @@ /** - * 状态更新 + * 根据sampleId,orderId,进行状态更新 */ @Override + @Transactional public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { + boolean beforeEventFlag = beforeStatusChange(deviceStatusChangeDTO); Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFlag > 0) { + if (updateFlag > 0 && beforeEventFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -181,8 +186,9 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); +// queryWrapper.ne("order_id", deviceStatusChangeDTO.getOrderId()); BusinessLabExecutiveInfo businessLabExecutiveInfo = new BusinessLabExecutiveInfo(); - businessLabExecutiveInfo.setMeasureStatus(deviceStatusChangeDTO.getStatus()); +// businessLabExecutiveInfo.setMeasureStatus(); businessLabExecutiveInfo.setRemark(deviceStatusChangeDTO.getReason()); labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } @@ -214,6 +220,9 @@ return handOutLabExecutiveDTOOptional.orElse(null); } + /** + * 构建证书的查询条件 + */ private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("order_id", dispatchVO.getOrderId()); @@ -230,7 +239,8 @@ queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); if (terminateFlag) { - queryWrapper.eq("sample_status", "2").or().eq("sample_status", "3").or().eq("sample_status", "4"); + //若是终止,需要对应待分发、检测中、检测完三个状态的变更 + queryWrapper.eq("sample_status", TO_HANDOUT).or().eq("sample_status", IN_MEASURE).or().eq("sample_status", MEASURE_COMPLETE); } BusinessOrderSampleRelation businessOrderSampleRelation = new BusinessOrderSampleRelation(); businessOrderSampleRelation.setSampleStatus(statusChangeDTO.getStatus()); @@ -238,12 +248,12 @@ } /** - * 判断不是自检 + * 判断不是自检,即外包和外检,进行环节设定 */ private boolean notSelfMeasure(DeviceDispatchVO dispatchVO) { if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType())) { - if (MeasureStatusEnum.TO_ALLOCATE.equals(String.valueOf(dispatchVO.getMeasureType())) || MeasureStatusEnum.TO_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { - String currentSegment = MeasureStatusEnum.TO_ALLOCATE.equals(dispatchVO.getMeasureType()) ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; + if (OTHERS_UNDERTAKE.equals(String.valueOf(dispatchVO.getMeasureType())) || OUTSIDE_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { + String currentSegment = OTHERS_UNDERTAKE.equals(dispatchVO.getMeasureType()) ? OUT_UNDERTAKE : OUT_MESASUR; dispatchVO.setCurrentSegment(currentSegment); return true; } @@ -251,6 +261,9 @@ return false; } + /** + * 其他条件的置为空 + */ private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { request.setSampleName(null); request.setSampleNo(null); @@ -264,18 +277,38 @@ } /** - * 判断样品是完成或接收状态,直接显示即可 + * 判断样品是完成或接收状态,进行当前阶段环节的设置 */ private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { - if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + if (TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_INCOME); return true; } - if (SampleStatusEnum.TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); + if (TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_ALLOCATE); return true; } return false; } + private boolean beforeStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(TO_INCOME)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + List orderSampleRelationList = this.orderSampleRelationMapper.selectList(queryWrapper); + Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); + if (orderSampleRelationOptional.isPresent()) { + BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); + if (businessOrderSampleRelation.getSampleStatus().equals(TO_ALLOCATE)) { + BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); + businessOrderSample.setRealDeliverTime(DateUtil.format(new Date(), "yyyy-MM-dd")); + int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); + return updateFlag > 0 ? true : false; + } + } + } + return true; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java index 4f06678..e2fea21 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerAdviceMapper; import com.casic.missiles.mapper.customer.CustomerMapper; @@ -34,7 +35,7 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerAdviceServiceImpl implements CustomerAdviceService { +public class CustomerAdviceServiceImpl implements CustomerAdviceService,PrefixCodeEnum { private final CustomerAdviceMapper customerAdviceMapper; private final IBaseExportService iBaseExportService; @@ -122,7 +123,7 @@ private void initCustomerAdviceInfo(CustomerAdviceInfo customerAdviceInfo) { Long maxNo = customerAdviceMapper.selectMaxAdviceNo(); - String adviceNo = NumberGeneratorUtil.getContactNo("khjy", maxNo); + String adviceNo = NumberGeneratorUtil.getContactNo(CUSTOMER_ADVICE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerAdviceInfo.setCreateUser(authUser.getId()); customerAdviceInfo.setUpdateUser(authUser.getId()); 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 4889e55..f9747dd 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 @@ -10,18 +10,19 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.sample.CertificationExpireStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; import com.casic.missiles.mapper.customer.CustomerMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerSampleListResponseMapper; import com.casic.missiles.mapper.customer.CustomerSampleMapper; -import com.casic.missiles.mapper.customer.customize.MesureRecordsResponseMapper; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -42,13 +43,11 @@ @Service @AllArgsConstructor -public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService { +public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService, CertificationExpireStatusEnum,PrefixCodeEnum{ private final CustomerSampleListResponseMapper customerSampleListResponseMapper; private final CustomerMapper customerMapper; private final IBaseExportService iBaseExportService; - private final CertificationResponseMapper certificationResponseMapper; - private final MesureRecordsResponseMapper mesureResponseMapper; private final BusinessOrderSampleRelationMapper sampleRelationMapper; @Override @@ -58,14 +57,14 @@ customerSamplePage.getRecords() .forEach(customerSample -> { BusinessOrderSampleRelation businessOrderSampleRelation = this.getSampleStatusById(customerSample.getId()); + customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); - customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); } }); for (CustomerSampleListResponse customerSampleListResponse : customerSamplePage.getRecords()) { - if (!StringUtils.isEmpty(customerSampleListResponse.getSampleSatus())) { + if (!StringUtils.isEmpty(customerSampleListResponse.getSampleStatus())) { DictCodeUtils.convertDictCodeToName(customerSampleListResponse); } } @@ -106,14 +105,13 @@ public CustomerSampleInfo sampleDetail(Long id) { CustomerSampleInfo customerSampleInfo = this.baseMapper.selectById(id); if (!ObjectUtils.isEmpty(customerSampleInfo)) { - doCustomerSampleInfoPopulation(customerSampleInfo); + doPopulateCustomerSampleInfo(customerSampleInfo); } return customerSampleInfo; } /** * 只导出样品列表信息 - * */ @Override public void sampleExport(CustomerSampleListRequest request, HttpServletResponse response) { @@ -135,7 +133,7 @@ BusinessOrderSampleRelation businessOrderSampleRelation = businessOrderMap.get(customerSample.getId()); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); } } @@ -159,26 +157,16 @@ } @Override - public Page measureRecordsBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page measureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); + public Page measureRecordsById(CustomerSampleIdRequest customerSampleIdRequest) { + Page page = PageFactory.defaultPage(); + Page measureRecordsResponsePage = this.baseMapper.measureRecordsById(page, customerSampleIdRequest); return measureRecordsResponsePage; } - @Override - public Page certificationBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page certificateResponsePage = certificationResponseMapper.selectPage(page, wrapper); - return certificateResponsePage; - } @Override - public Page samplesByOderId(Page page,Long orderId, String sampleNo, String sampleName) { - return this.baseMapper.samplesByOderId(page,orderId,sampleNo,sampleName); + public Page samplesByOderId(Page page, Long orderId, String sampleNo, String sampleName) { + return this.baseMapper.samplesByOderId(page, orderId, sampleNo, sampleName); } private BusinessOrderSampleRelation getSampleStatusById(Long sampleId) { @@ -190,9 +178,12 @@ return orderSampleOptional.isPresent() ? orderSampleOptional.get() : null; } + /** + * 初始化样品状态 + */ private void initSample(CustomerSampleInfo customerSampleInfo) { Long maxNo = this.baseMapper.selectMaxSampleNo(); - String sampleNo = NumberGeneratorUtil.getContactNo("khyp", maxNo); + String sampleNo = NumberGeneratorUtil.getContactNo(SAMPLE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setSampleNo(sampleNo); customerSampleInfo.setCreateUser(authUser.getId()); @@ -202,7 +193,6 @@ private QueryWrapper listParamWrapper(CustomerSampleListRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.select("id,sample_no,sample_name,sample_model,manufacturing_no,customer_id,measure_period,measure_last_time,remark,valid_deadline"); queryWrapper.like(StringUtils.isNotBlank(request.getSampleNo()), "sample_no", request.getSampleNo()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleName()), "sample_name", request.getSampleName()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleBelong()), "sample_belong", request.getSampleBelong()); @@ -210,9 +200,10 @@ queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); if (!StringUtils.isEmpty(request.getOvertimeStatus())) { - queryWrapper.apply(request.getOvertimeStatus().equals("1"), + queryWrapper.apply("1".equals(request.getOvertimeStatus()), + "sysdate() > DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); - queryWrapper.apply(request.getOvertimeStatus().equals("0"), + queryWrapper.apply("0".equals(request.getOvertimeStatus()), "sysdate() <= DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); } queryWrapper.apply(StringUtils.isNotBlank(request.getStartTime()), @@ -224,24 +215,30 @@ return queryWrapper; } + /** + * 通过证书到期时间进行到期状态的计算 + */ private String calculateCertificationStatus(String validDeadline) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if (StringUtils.isEmpty(validDeadline)) { - return "0"; + return NORMAL; } - if (validDeadline.compareTo(sdf.format(new Date())) > 0) { - return "2"; + if (validDeadline.compareTo(sdf.format(new Date())) < 0) { + return ALREADY_EXPIRE; } Calendar date = Calendar.getInstance(); date.setTime(new Date()); date.add(Calendar.DAY_OF_MONTH, -30); - if (validDeadline.compareTo(sdf.format(date.getTime())) > 0) { - return "1"; + if (validDeadline.compareTo(sdf.format(date.getTime())) < 0) { + return ALMOST_EXPIRE; } - return "0"; + return NORMAL; } - private void doCustomerSampleInfoPopulation(CustomerSampleInfo customerSampleInfo) { + /** + * 对样品列表的进行供应商联系方式的填充 + */ + private void doPopulateCustomerSampleInfo(CustomerSampleInfo customerSampleInfo) { CustomerInfo customerInfo = customerMapper.selectById(customerSampleInfo.getCustomerId()); if (!ObjectUtils.isEmpty(customerInfo)) { customerSampleInfo.setPhone(customerInfo.getPhone()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java index 32d4dee..f6e1f8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java @@ -11,13 +11,12 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerMapper; import com.casic.missiles.mapper.customer.CustomerUserMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerInfoResponseMapper; import com.casic.missiles.mapper.customer.customize.SampleRecordsResponseMapper; import com.casic.missiles.model.customer.CustomerInfo; @@ -38,11 +37,10 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerServiceImpl extends ServiceImpl implements CustomerService { +public class CustomerServiceImpl extends ServiceImpl implements CustomerService,PrefixCodeEnum { private final SampleRecordsResponseMapper sampleRecordsResponseMapper; private final CustomerUserMapper customerUserMapper; - private final CertificationResponseMapper certificationMapper; private final IBaseExportService iBaseExportService; private final CustomerInfoResponseMapper customerInfoResponseMapper; @@ -126,18 +124,9 @@ return contractRecordsResponsePage; } - @Override//暂定不做 - public Page mesureRecordsByCustomerId(Long customerId) { - Page measureRecordsResponsePage = PageFactory.defaultPage(); - return measureRecordsResponsePage; - } - @Override public Page certificationByCustomerId(Long customerId) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("customer_id", customerId); - return certificationMapper.selectPage(page, wrapper); + return null; } @Override @@ -163,8 +152,7 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); - queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "bussiness_size", request.getBusinessSize()); - queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); + queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "business_size", request.getBusinessSize()); queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); queryWrapper.eq("is_del", 0); return queryWrapper; @@ -172,7 +160,7 @@ private void initCustomerInfo(CustomerInfo customerInfo) { Long maxNo = this.baseMapper.selectMaxCustomerNo(); - String customerNo = NumberGeneratorUtil.getContactNo("khxx", maxNo); + String customerNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CUSTOMER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerInfo.setCreateUser(authUser.getId()); customerInfo.setUpdateUser(authUser.getId()); @@ -196,7 +184,7 @@ boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { customerUserInfo.setCustomerId(id); - String customerNo = NumberGeneratorUtil.getContactNo("khyh", maxUserNo++); + String customerNo = NumberGeneratorUtil.getContactNo(CUSTOMER_USER_PREFIX, maxUserNo++); customerUserInfo.setUserNo(customerNo); int userAddNum = customerUserMapper.insert(customerUserInfo); if (userAddNum <= 0) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java index d81a488..77e4caf 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java @@ -13,9 +13,10 @@ import com.casic.missiles.dto.equipment.AcceptanceCheckRequest; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentAcceptanceCheckMapper; @@ -183,7 +184,7 @@ public ReturnDTO addAcceptanceCheck(EquipmentApply equipmentApply) { Long maxNo = equipmentApplyMapper.selectMaxNo(); // 生成编号 - String applyNo = NumberGeneratorUtil.getContactNo("sbjxbyysd", maxNo); + String applyNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.REPAIR_MAINTAIN_PREFIX, maxNo); equipmentApply.setApplyNo(applyNo); // 草稿箱状态 equipmentApply.setApprovalStatus(ApprovalStatusEnum.DRAFT); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java index 38ad4e9..d468012 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java @@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.base.service.IBaseExportService; -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.IdDTO; @@ -20,6 +19,9 @@ import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java index 7c4fdbc..e6a1ff8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.equipment.CheckInfoRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoFileMapper; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoMapper; @@ -79,7 +80,7 @@ @Transactional public ReturnDTO addCheckInfo(EquipmentCheckInfo equipmentCheckInfo) { long maxNo = equipmentCheckInfoMapper.selectMaxNo(); - String checkNo = NumberGeneratorUtil.getContactNo("jc", maxNo); + String checkNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CHECK_PREFIX, maxNo); equipmentCheckInfo.setCheckNo(checkNo); if(equipmentCheckInfoMapper.insert(equipmentCheckInfo) > 0){ Long id = equipmentCheckInfo.getId(); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java index ba6a600..7ff9c16 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.equipment; -import cn.hutool.core.io.unit.DataUnit; import com.alibaba.excel.util.DateUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -13,7 +12,8 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.FixedAssetRequest; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentFixedAssetFileMapper; @@ -131,7 +131,7 @@ validManufacturingNo(meterFixedAssets); //生成资产编号 Long maxNo = meterFixedAssetsMapper.selectMaxNo(); - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); meterFixedAssets.setAssetNo(asset_no); meterFixedAssets.setEquipmentNo(asset_no); meterFixedAssetsMapper.insert(meterFixedAssets); @@ -164,7 +164,7 @@ //需要根据出厂编号判重 validManufacturingNo(item); //生成资产编号 - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); item.setAssetNo(asset_no); item.setEquipmentNo(asset_no); maxNo++; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java index 3e63a5a..2b29aa7 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java @@ -18,6 +18,8 @@ import com.casic.missiles.dto.equipment.StandardEquipmentApplyRequest; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.StandardApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java index caa63a7..afa6905 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java @@ -10,9 +10,9 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.StandardEquipmentRequest; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentFileMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentMapper; -import com.casic.missiles.model.equipment.EquipmentApply; import com.casic.missiles.model.equipment.EquipmentStandardEquipment; import com.casic.missiles.model.equipment.EquipmentStandardEquipmentFile; import com.casic.missiles.model.page.PageQuery; @@ -74,7 +74,7 @@ public ReturnDTO add(EquipmentStandardEquipment meterStandardEquipment) { //生成资产编号 Long maxNo = meterStandardEquipmentMapper.selectMaxNo(); - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); meterStandardEquipment.setStandardNo(standard_no); meterStandardEquipmentMapper.insert(meterStandardEquipment); // 插入文件列表 @@ -129,7 +129,7 @@ } DictCodeUtils.validDictCode(item); //生成资产编号 - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); item.setStandardNo(standard_no); maxNo++; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java index 481cf64..b749b2e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java @@ -2,7 +2,6 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.dto.IdDTO; @@ -12,7 +11,7 @@ import com.casic.missiles.dto.equipment.StateManageResponse; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java index 5dd6f8e..e566e01 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.EquipmentWorkbenchResponse; -import com.casic.missiles.enums.ApplyFromIdEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java index f3b9c4f..485287a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java @@ -6,7 +6,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.system.dao.DeptMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java index ce076b0..c20feb0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java @@ -4,7 +4,6 @@ import cn.hutool.core.lang.Assert; import cn.hutool.core.util.ObjectUtil; import com.alibaba.excel.util.DateUtils; -import com.alibaba.excel.util.StringUtils; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -22,18 +21,18 @@ import com.casic.missiles.dto.meter.MeterCertificateImport; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.enums.*; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterRoleTypeEnum; +import com.casic.missiles.enums.workbench.MessageTypeEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.meter.MeterCertificateExpireMessageMapper; import com.casic.missiles.mapper.meter.MeterCertificateMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.sys.UserInfoMapper; import com.casic.missiles.mapper.workbench.WorkbenchRemindMessageMapper; import com.casic.missiles.model.meter.MeterCertificate; -import com.casic.missiles.model.meter.MeterCertificateExpireMessage; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.model.system.UserInfo; import com.casic.missiles.model.workbench.WorkbenchRemindMessage; -import com.casic.missiles.service.meter.MeterCertificateExpireMessageService; import com.casic.missiles.service.meter.MeterCertificateService; import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; import com.casic.missiles.utils.ExportUtils; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java index ecf1fc3..e84f4d6 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java @@ -17,10 +17,11 @@ import com.casic.missiles.dto.meter.FileApprovalListResponse; import com.casic.missiles.dto.meter.FileListRequest; import com.casic.missiles.dto.meter.FileSaveResponse; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EffectiveStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.EffectiveStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterFileMapper; import com.casic.missiles.model.meter.MeterFile; @@ -92,7 +93,7 @@ public ReturnDTO saveFile(MeterFile file) { //生成文件编号 Long maxNo = meterFileMapper.selectMaxFileNo(); - String fileNo = NumberGeneratorUtil.getContactNo("jlwj", maxNo); + String fileNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FILE_PREFIX, maxNo); file.setFileNo(fileNo); file.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 Assert.isFalse(Objects.isNull(ShiroKit.getUser()), () -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java index 000e58a..467f03d 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java @@ -10,7 +10,8 @@ import com.casic.missiles.dto.meter.ParentDeptRequest; import com.casic.missiles.dto.meter.ParentDeptResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.model.meter.MeterOrganize; @@ -101,7 +102,7 @@ public int addOrganize(Dept dept) { //生成组织编号 Long maxNo = organizeMapper.selectMaxOrganizeNo(); - String organizeNo = NumberGeneratorUtil.getContactNo("jlzz", maxNo); + String organizeNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.ORGANIZE_PREFIX, maxNo); MeterOrganize meterOrganize = new MeterOrganize(); meterOrganize.setDeptId(dept.getId()); meterOrganize.setPDeptId(dept.getPid()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java index 7c3f9cf..643ba4c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java @@ -13,7 +13,8 @@ import com.casic.missiles.dto.meter.MeterPriceRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterPriceCategoryMapper; import com.casic.missiles.mapper.meter.MeterPriceItemMapper; @@ -83,7 +84,7 @@ MeterPriceItem item = new MeterPriceItem(null,priceCategory.getId(),meterPrice.getItemName()); if(categoryFlag>0 && meterPriceItemMapper.insert(item)>0){ Long maxNo = meterPriceMapper.getMaxNo(); - String priceNo = NumberGeneratorUtil.getContactNo("jg", maxNo); + String priceNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.PRICE_PREFIX, maxNo); meterPrice.setPriceNo(priceNo); meterPrice.setPriceType(priceCategory.getId().toString()); meterPrice.setPriceItem(item.getId().toString()); @@ -178,7 +179,7 @@ // 校验通过 AtomicLong maxNo = new AtomicLong(meterPriceMapper.getMaxNo()); list.forEach(bean->{ - String priceNo = NumberGeneratorUtil.getContactNo("jg", maxNo.get()); + String priceNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.PRICE_PREFIX, maxNo.get()); maxNo.set(Long.parseLong(priceNo.substring(2))); Long id= IdWorker.getId(); bean.setId(id); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java index 7c4a1a1..f79bb8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java @@ -15,7 +15,8 @@ import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterCertificateMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; @@ -42,7 +43,6 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; -import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.concurrent.atomic.AtomicBoolean; @@ -139,7 +139,7 @@ } long maxNo = meterStaffMapper.getMaxNo(); meterStaff.setIsDel(0); - String staffNo = NumberGeneratorUtil.getContactNo("jlry", maxNo); + String staffNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STAFF_PREFIX, maxNo); meterStaff.setStaffNo(staffNo); if(meterStaffMapper.insert(meterStaff)>0){ Long id = meterStaff.getId(); @@ -263,7 +263,7 @@ AtomicLong maxNo = new AtomicLong(meterStaffMapper.getMaxNo()); list.forEach(bean->{ // 生成编号 - String staffNo = NumberGeneratorUtil.getContactNo("jlry", maxNo.get()); + String staffNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STAFF_PREFIX, maxNo.get()); maxNo.set(Long.parseLong(staffNo.substring(4))); bean.setStaffNo(staffNo); // 获取id diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java index 535581f..0beebb1 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java @@ -14,9 +14,10 @@ import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.meter.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterTraceSupplierMapper; import com.casic.missiles.model.meter.MeterTraceSupplier; @@ -92,7 +93,7 @@ public ReturnDTO saveTraceSupplier(MeterTraceSupplier traceSupplier) { //生成编号 Long maxNo = traceSupplierMapper.selectMaxSupplierNo(); - String supplierNo = NumberGeneratorUtil.getContactNo("sygf", maxNo); + String supplierNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.TRACE_SUPPLIER_PREFIX, maxNo); traceSupplier.setSupplierNo(supplierNo); traceSupplier.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 Assert.isFalse(Objects.isNull(ShiroKit.getUser()), () -> { @@ -106,7 +107,7 @@ //存储溯源供方人员信息 boolean saveBatchFlag = true; List traceSupplierPersonList = traceSupplier.getTraceSupplierPersonList(); - if(!CollectionUtils.isEmpty(traceSupplierPersonList)){ + if (!CollectionUtils.isEmpty(traceSupplierPersonList)) { traceSupplierPersonList.forEach(person -> { person.setSupplierId(traceSupplier.getId()); }); @@ -119,7 +120,7 @@ //存储溯源供方标准装置信息 boolean saveBatchFlag2 = true; List standardEquipmentIds = traceSupplier.getStandardEquipmentIds(); - if(!CollectionUtils.isEmpty(standardEquipmentIds)){ + if (!CollectionUtils.isEmpty(standardEquipmentIds)) { List equipmentList = new ArrayList<>(); standardEquipmentIds.forEach(id -> { MeterTraceSupplierStandardEquipment equipment = new MeterTraceSupplierStandardEquipment(); @@ -154,7 +155,7 @@ traceSupplierPersonService.remove(wrapper); boolean saveFlag = true; //溯源供方人员可能为空 - if(!CollectionUtils.isEmpty(traceSupplierPersonList)){ + if (!CollectionUtils.isEmpty(traceSupplierPersonList)) { //再增加 traceSupplierPersonList.forEach(person -> { person.setSupplierId(traceSupplier.getId()); @@ -169,7 +170,7 @@ meterTraceSupplierStandardEquipmentService.remove(wrapper1); boolean saveBatchFlag2 = true; List standardEquipmentIds = traceSupplier.getStandardEquipmentIds(); - if(!CollectionUtils.isEmpty(standardEquipmentIds)){ + if (!CollectionUtils.isEmpty(standardEquipmentIds)) { List equipmentList = new ArrayList<>(); standardEquipmentIds.forEach(id -> { MeterTraceSupplierStandardEquipment equipment = new MeterTraceSupplierStandardEquipment(); @@ -195,10 +196,10 @@ String formId = request.getFormId(); ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); MeterTraceSupplier traceSupplier = new MeterTraceSupplier(); traceSupplier.setId(request.getId()); @@ -225,9 +226,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //本地删除 - if(traceSupplierMapper.deleteById(request.getId()) > 0){ + if (traceSupplierMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -267,16 +268,16 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -288,7 +289,7 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.IN_APPROVED); } @@ -296,7 +297,7 @@ //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.PASSED); } @@ -305,12 +306,12 @@ case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { List rejectList = traceSupplierMapper.selectBatchForApproval(page, request, rejectBusinessKey); rejectApprovalList = handleApprovalListResponse(approvalList, rejectList, ApprovalStatusEnum.FAILED_REJECT); } @@ -320,7 +321,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.CANCELED); } @@ -330,10 +331,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleAllApprovalListResponse(approvalList, list, AllApproveList); } @@ -343,9 +344,11 @@ } private List handleAllApprovalListResponse(List approvalList, List list, List allApproveList) { - Map taskMap = new HashMap<>(); + Map taskMap = new HashMap<>(); approvalList = ConvertUtils.sourceToTarget(list, TraceSupplierApprovalListResponse.class); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -369,7 +372,7 @@ @Override public ReturnDTO deleteTraceSupplier(Long id) { - if(traceSupplierMapper.deleteById(id) > 0){ + if (traceSupplierMapper.deleteById(id) > 0) { return ReturnUtil.success(); } return ReturnUtil.failed("刪除失败"); @@ -377,7 +380,7 @@ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - if(traceSupplierMapper.deleteBatchIds(ids) > 0){ + if (traceSupplierMapper.deleteBatchIds(ids) > 0) { return ReturnUtil.success(); } return ReturnUtil.failed("删除失败"); @@ -400,6 +403,7 @@ wrapper.eq("id", 12344321); return wrapper; } + wrapper.like(StringUtils.isNotBlank(request.getSupplierNo()), "supplier_no", request.getSupplierNo()); wrapper.like(StringUtils.isNotBlank(request.getSupplierName()), "supplier_name", request.getSupplierName()); wrapper.like(StringUtils.isNotBlank(request.getBusinessContent()), "business_content", request.getBusinessContent()); @@ -409,7 +413,7 @@ return wrapper; } - private List handleApprovalListResponse(List approvalList, List list, String status){ + private List handleApprovalListResponse(List approvalList, List list, String status) { approvalList = ConvertUtils.sourceToTarget(list, TraceSupplierApprovalListResponse.class); approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java index 0fd9403..bec30c8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.meter.TrainLogListRequest; import com.casic.missiles.dto.meter.TrainLogUpdateRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterTrainLogMapper; import com.casic.missiles.mapper.meter.MeterTrainStaffMapper; @@ -58,7 +59,7 @@ public ReturnDTO addTrainLog(TrainLogAddRequest request) { //生成编号 Long maxNo = trainLogMapper.selectMaxTrainLogNo(); - String logNo = NumberGeneratorUtil.getContactNo("pxjl", maxNo); + String logNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.TRAIN_LOG_PREFIX, maxNo); MeterTrainLog meterTrainLog = ConvertUtils.sourceToTarget(request, MeterTrainLog.class); meterTrainLog.setLogNo(logNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java index e4f4dcb..e3d0750 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java @@ -14,9 +14,10 @@ import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.meter.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.meter.MeterTrainPlanMapper; @@ -98,7 +99,7 @@ public ReturnDTO saveTrainPlan(MeterTrainPlan trainPlan) { //生成编号 Long maxNo = trainPlanMapper.selectMaxTrainPlanNo(); - String planNo = NumberGeneratorUtil.getContactNo("pxjh", maxNo); + String planNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.TRAIN_PLAN_PREFIX, maxNo); trainPlan.setPlanNo(planNo); trainPlan.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 Assert.isFalse(Objects.isNull(ShiroKit.getUser()), () -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterWorkbenchServiceImpl.java index 663d024..921ae71 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterWorkbenchServiceImpl.java @@ -10,8 +10,8 @@ import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.dto.meter.MeterWorkbenchRequest; import com.casic.missiles.dto.meter.MeterWorkbenchResponse; -import com.casic.missiles.enums.ExamResultEnum; -import com.casic.missiles.enums.MeterRoleTypeEnum; +import com.casic.missiles.enums.meter.ExamResultEnum; +import com.casic.missiles.enums.meter.MeterRoleTypeEnum; import com.casic.missiles.mapper.meter.MeterCertificateMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.meter.MeterTrainPlanMapper; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java new file mode 100644 index 0000000..e196dda --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Builder; +import lombok.Data; + +/** + * @author cz + */ +@Data +@Builder +public class NotifyEventStatusDTO { + + /** + * 业务表主键 + */ + private String id; + /** + * 业务表状态 + */ + private String status; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java index 65c19e3..0f3e84f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java @@ -74,7 +74,7 @@ /** * 部门/科室/工程组名称 */ - @ExcelProperty("组织编号") + @ExcelProperty("组织名称") @ApiModelProperty(value = "计量组织名称", dataType = "String", required = true) @NotBlank(message = "计量组织名称不能为空") @TableField("organize_name") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java index 54dc5cd..244e431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java @@ -84,7 +84,7 @@ * 签名用户id(一个用户一个签名,签名不使用关联表,签章暂时使用和使用人的关联表) */ @TableField("sign_user_id") - private String signUserId; + private Long signUserId; /** * 签章或签名-字典code diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java index ca20ca4..0e94b9e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 2f97cb3..fdc4bf0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -3,7 +3,6 @@ import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -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; @@ -17,9 +16,10 @@ import com.casic.missiles.dto.flowable.ApprovalAgreeRequest; import com.casic.missiles.dto.flowable.ApprovalRefuseRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -42,10 +42,9 @@ */ @Service @AllArgsConstructor -public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { +public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService, CertificatePrintStatusEnum { private final IBaseApprovalService baseApprovalService; - private final AbstractDictService dictService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; @@ -86,7 +85,7 @@ } /** - * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 * * @return */ @@ -103,7 +102,7 @@ BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); //设置为不能打印 - certificateReport.setPrintStatus("2"); + certificateReport.setPrintStatus(NON_PRINTABLE); certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { @@ -113,7 +112,7 @@ } /** - * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 */ @Transactional @Override @@ -128,7 +127,7 @@ //审批状态为审批中 certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //打印状态审批中 - certificateReport.setPrintStatus("3"); + certificateReport.setPrintStatus(IN_APPROVAL); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -142,7 +141,7 @@ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)&&CollectionUtils.isEmpty(request.getIds())) { - handlerBeApproved(approvalList, page, request); + approvalList=handlerBeApproved(approvalList, page, request); }else { approvalList=this.baseMapper.selectBatchForApprovalList(page, request, null); } 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 d03ab22..164c53a 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,17 +7,22 @@ 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.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; -import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +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.MonitorCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -26,9 +31,9 @@ import com.casic.missiles.service.business.IBusinessCertificateReportService; import com.casic.missiles.service.business.IBusinessOriginalRecordService; import com.casic.missiles.service.flowable.ApprovalOperateService; -import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; +import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.runtime.ProcessInstance; @@ -68,8 +73,10 @@ private RuntimeService runtimeService; @Resource private IBaseExportService iBaseExportService; + /** * 保存证书报告信息 + * * @param certificateReport * @return */ @@ -77,7 +84,7 @@ public ReturnDTO saveCertificateReport(BusinessCertificateReport certificateReport) { initCertificateReport(certificateReport); - if(this.baseMapper.insert(certificateReport)>0) + if (this.baseMapper.insert(certificateReport) > 0) return ReturnUtil.success(); throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -90,9 +97,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //删除数据库记录 - if(this.baseMapper.deleteById(request.getId()) > 0){ + if (this.baseMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -101,7 +108,7 @@ @Override public ReturnDTO draftUpdate(BusinessCertificateReport certificateReport) { - if(this.baseMapper.updateById(certificateReport)>0){ + if (this.baseMapper.updateById(certificateReport) > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -109,25 +116,27 @@ /** * 批量删除 + * * @param ids * @return */ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - return baseMapper.deleteBatchIds(ids) > 0?ReturnUtil.success(): + return baseMapper.deleteBatchIds(ids) > 0 ? ReturnUtil.success() : ReturnUtil.failed("删除失败"); } /** * 证书报告详情 + * * @param id * @return */ @Override public BusinessCertificateReport certificateReportDetail(Long id) { BusinessCertificateReport certificateReport = this.baseMapper.selectById(id); - if(certificateReport.getOriginalRecordId()!=null){ + if (certificateReport.getOriginalRecordId() != null) { try { certificateReport.setBusinessOriginalRecord(originalRecordService.originalDetail(certificateReport.getOriginalRecordId())); } catch (Exception e) { @@ -139,6 +148,7 @@ /** * 提交证书报告 + * * @param request * @return */ @@ -148,10 +158,10 @@ String formId = request.getFormId(); //2.根据流程定义id启动流程实例 ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); certificateReport.setApprovalStatus(ApprovalStatusEnum.UN_DRAFT); //非草稿状态 @@ -165,6 +175,7 @@ /** * 审批状态列表查询 + * * @param page * @param request * @return @@ -182,6 +193,7 @@ /** * 驳回后更新 + * * @param certificateReport * @return */ @@ -208,13 +220,14 @@ @Override public void originExport(CertificateReportApprovalRequest request, HttpServletResponse response) { try { - //toDo: -// List certificateReportResponses = this.certificateReport(request); -// for (OriginRecordResponse originRecordResponse : originExportList) { -// //字典值转换 -// DictCodeUtils.convertDictCodeToName(originRecordResponse); -// } -// iBaseExportService.exportExcel(response, CertificateReportResponse.class, originExportList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); + //登录用户 + AuthUser user = ShiroKit.getUser(); + Assert.isFalse(Objects.isNull(user), () -> { + throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); + }); + request.setCreateUserId(user.getId()); + List reportResponseList = handleApprovalStatus(null, request); + iBaseExportService.exportExcel(response, CertificateReportResponse.class, reportResponseList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); } catch (Exception e) { log.error("证书报告导出出现异常,异常信息为{}", e); } @@ -231,15 +244,15 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -251,27 +264,27 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ - approvalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); + if (!CollectionUtils.isEmpty(businessKeys)) { + approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ - rejectApprovalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { + rejectApprovalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -279,7 +292,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.CANCELED); } break; @@ -288,10 +301,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleAllApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), AllApproveList); } break; @@ -299,9 +312,26 @@ return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List allApproveList) { - Map taskMap = new HashMap<>(); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + /** + * 客户、样品详情列表 + */ + @Override + public Page certificateRecordsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception { + Page page = PageFactory.defaultPage(); + Page certificateResponsePage = this.baseMapper.certificateRecordsById(page, customerSampleIdRequest); + for (CertificationResponse customerSampleListResponse : certificateResponsePage.getRecords()) { + if (!StringUtils.isEmpty(customerSampleListResponse.getCertificationClass())) { + DictCodeUtils.convertDictMultiCodeToName(customerSampleListResponse); + } + } + return certificateResponsePage; + } + + private List handleAllApprovalListResponse(List approvalList, List allApproveList) { + Map taskMap = new HashMap<>(); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -313,7 +343,7 @@ return approvalList.stream().sorted(Comparator.comparing(CertificateReportResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, String status){ + private List handleApprovalListResponse(List approvalList, String status) { approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); @@ -324,14 +354,14 @@ private void initCertificateReport(BusinessCertificateReport certificateReport) { String prefix = MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue() - +DateUtil.format(new Date(),"YYYYMM"); + + DateUtil.format(new Date(), "YYYYMM"); Long maxNo = this.baseMapper.selectMaxCode(prefix); //生成证书编号 - String certificateReportNo =NumberGeneratorUtil.getCode( - MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(),maxNo); + String certificateReportNo = NumberGeneratorUtil.getCode( + MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(), maxNo); AuthUser authUser = ShiroKit.getUser(); certificateReport.setCreateUser(authUser.getId()); - certificateReport.setMeasurePersonId(authUser.getId()+""); + certificateReport.setMeasurePersonId(authUser.getId() + ""); certificateReport.setMeasureDeptId(authUser.getDeptId()); certificateReport.setCertificateReportCode(certificateReportNo); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index c4ed5f6..5456773 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -12,13 +12,12 @@ import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; import com.casic.missiles.mapper.business.EnvironmentListResponseMapper; import com.casic.missiles.model.business.BusinessEnvironmentRecord; -import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 859010b..0d847a0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessInterchangeMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; @@ -35,7 +36,7 @@ * 业务管理-设备交接单 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @@ -83,7 +84,7 @@ } /** - * 更新不对样品有任何操作 + * 更新只是交接单的变更,没有任何其他单位的变化 */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { @@ -94,6 +95,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 交接单新增,同时在样品委托书管理表中新增交接单记录id + */ @Override @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { @@ -111,6 +115,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 选中判断ids存在,进行其他条件的清空 + */ @Override public void exportExchange(InterchangeListRequest request, HttpServletResponse response) { try { @@ -153,7 +160,7 @@ private void populationExchange(BusinessInterchange businessInterchange) { Long maxNo = this.baseMapper.selectMaxExchangeNo(); - String orderNo = NumberGeneratorUtil.getContactNo("jjdh", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.INTER_CHANGE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessInterchange.setCreateUser(authUser.getId()); businessInterchange.setInterchangeCode(orderNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java index 585a207..955cc7a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java @@ -13,19 +13,18 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.*; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.HandOutPropertyEnum; -import com.casic.missiles.enums.MeasureStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.HandOutPropertyEnum; +import com.casic.missiles.enums.business.MeasureStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.*; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; -import com.casic.missiles.model.business.BusinessLabExecutiveInfo; -import com.casic.missiles.model.business.BusinessLabExecutiveOperateLog; -import com.casic.missiles.model.business.BusinessLabExecutiveTemplateInfo; +import com.casic.missiles.model.business.*; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; import com.casic.missiles.service.business.IBusinessLabExecutiveTemplateInfoService; @@ -71,6 +70,8 @@ private AbstractDictService dictService; @Autowired private MeterStaffMapper staffMapper; + @Autowired + private BusinessOrderMapper orderMapper; @Override public Page handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) throws Exception{ @@ -377,7 +378,9 @@ if(CollectionUtils.isEmpty(unExecutiveInfos)){ //更新样品状态为检测完 orderSampleRelationMapper.updateByOrderIdAndSampleId(pre.getOrderId(), pre.getSampleId(), SampleStatusEnum.MEASURE_COMPLETE); - // TODO: 2023/2/17 委托书中所有样品检测完更新委托书接收状态为检测完成,需求待定 + + //委托书中所有样品检测完更新委托书接收状态为检测完成,未检测完的数量为0则表示全部检完 + updateOrderStatusComplete(pre); //将检测记录加入到实验室检测模板(仅全部为检测完成的才加入到模板,包含终止的不会加入) List labList = new ArrayList<>(); @@ -407,9 +410,27 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + @Transactional + public void updateOrderStatusComplete(SampleOperateRequest pre) { + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("order_id", pre.getOrderId()); + List statusList = new ArrayList<>(); + statusList.add(SampleStatusEnum.TO_RECEIVE); + statusList.add(SampleStatusEnum.TO_HANDOUT); + statusList.add(SampleStatusEnum.IN_MEASURE); + wrapper1.in("sample_status", statusList); + //同一事务中可查到更新后的数量 + if(orderSampleRelationMapper.selectCount(wrapper1) == 0){ + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(pre.getOrderId()); + businessOrder.setStatus(OrderStatusEnum.COMPLETE); + orderMapper.updateById(businessOrder); + } + } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + String templateCode = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.LAB_EXECUTIVE_TEMPLATE_PREFIX, maxNo + i); templateInfo.setTemplateCode(templateCode); // templateInfo.setSampleTypeId(); templateInfo.setSampleId(lab.getSampleId()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index f5c6f61..1d63554 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -14,6 +14,10 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; +import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; @@ -35,7 +39,6 @@ import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -45,12 +48,12 @@ * 业务管理-委托书 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @AllArgsConstructor -public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { +public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService,PrefixCodeEnum, OrderStatusEnum,SampleStatusEnum, MeasureTypeEnum { private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; @@ -90,8 +93,10 @@ List customerSampleList = new ArrayList<>(); for (BusinessOrderSampleRelation orderSample : orderSampleList) { CustomerSampleInfo customerSampleInfo = customerSampleService.sampleDetail(orderSample.getSampleId()); - customerSampleInfo.setIsExistSample("1"); - customerSampleList.add(customerSampleInfo); + if (null != customerSampleInfo) { + customerSampleInfo.setIsExistSample("1"); + customerSampleList.add(customerSampleInfo); + } } businessOrder.setCustomerSampleInfoList(customerSampleList); return businessOrder; @@ -202,7 +207,13 @@ @Override public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); - String dealType = "委托书" + ((status.equals("2")) ? "接收" : "退回"); + String dealType = ""; + if (status.equals(ALREADY_RECEIVED)) { + dealType = "委托书接收" ; + doUpdateSampleStatus(orderCancelRequest.getId(),TO_RECEIVE); + } else { + dealType = "委托书退回"; + } int addDealRecordFlag = addDealRecord(orderCancelRequest, dealType); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -216,7 +227,7 @@ @Override @Transactional public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { - int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), ALREADY_CANCEL); int addDealRecordFlag = addDealRecord(orderCancelRequest, "委托书取消"); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -250,6 +261,7 @@ return dealRecordMapper.insert(businessDealRecord); } + /** * 强调正在做状态更新 */ @@ -280,12 +292,12 @@ private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); - String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(ORDER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); - businessOrder.setStatus("1"); + businessOrder.setStatus(NOT_RECEIVED); } /** @@ -320,10 +332,23 @@ sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); - sampleStatusPopulation.setMeasureType("1"); + sampleStatusPopulation.setMeasureType(INSIDE_MEASURE); return this.sampleRelationMapper.insert(sampleStatusPopulation); } + /** + * 强调正在做状态更新 + */ + private int doUpdateSampleStatus(Long orderId, String sampleStatus) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", orderId); + BusinessOrderSampleRelation orderSample = new BusinessOrderSampleRelation(); + orderSample.setId(orderId); + orderSample.setSampleStatus(sampleStatus); + return this.sampleRelationMapper.update(orderSample, queryWrapper); + } + + private void doSampleListPopulation(BusinessOrder businessOrder) { businessOrder.getCustomerSampleInfoList().forEach( customerSampleInfo -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java index 1e35b7a..1c602b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java @@ -131,7 +131,7 @@ @Override public ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord) { - if (this.baseMapper.insert(businessOriginalRecord) > 0) { + if (this.baseMapper.updateById(businessOriginalRecord) > 0) { //加入技术文件绑定 if (ObjectUtil.isNotEmpty(businessOriginalRecord.getFileList()) && businessOriginalRecord.getFileList().size() > 0) { originalRecordFileRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getFileList()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java index 07c88e9..c9c1902 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.date.DateUtil; import com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -14,6 +15,7 @@ import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; @@ -29,6 +31,7 @@ import org.springframework.util.ObjectUtils; import javax.servlet.http.HttpServletResponse; +import java.util.Date; import java.util.List; import java.util.Objects; import java.util.Optional; @@ -39,7 +42,7 @@ @Service @Slf4j @AllArgsConstructor -public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService { +public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService, SampleStatusEnum, CurrentSegmentEnum, MeasureTypeEnum { private final BusinessOrderSampleRelationMapper orderSampleRelationMapper; private final BusinessCertificateReportMapper certificateReportMapper; @@ -73,20 +76,20 @@ Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.TO_HANDOUT: + case TO_HANDOUT: //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 - case SampleStatusEnum.IN_MEASURE: + case IN_MEASURE: //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.MEASURE_COMPLETE: + case MEASURE_COMPLETE: doDispatchVoPopulation(dispatchVO, sampleId, orderId); return; //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 - case SampleStatusEnum.BE_OVERDUE: + case BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); @@ -126,12 +129,14 @@ /** - * 状态更新 + * 根据sampleId,orderId,进行状态更新 */ @Override + @Transactional public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { + boolean beforeEventFlag = beforeStatusChange(deviceStatusChangeDTO); Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFlag > 0) { + if (updateFlag > 0 && beforeEventFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -181,8 +186,9 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); +// queryWrapper.ne("order_id", deviceStatusChangeDTO.getOrderId()); BusinessLabExecutiveInfo businessLabExecutiveInfo = new BusinessLabExecutiveInfo(); - businessLabExecutiveInfo.setMeasureStatus(deviceStatusChangeDTO.getStatus()); +// businessLabExecutiveInfo.setMeasureStatus(); businessLabExecutiveInfo.setRemark(deviceStatusChangeDTO.getReason()); labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } @@ -214,6 +220,9 @@ return handOutLabExecutiveDTOOptional.orElse(null); } + /** + * 构建证书的查询条件 + */ private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("order_id", dispatchVO.getOrderId()); @@ -230,7 +239,8 @@ queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); if (terminateFlag) { - queryWrapper.eq("sample_status", "2").or().eq("sample_status", "3").or().eq("sample_status", "4"); + //若是终止,需要对应待分发、检测中、检测完三个状态的变更 + queryWrapper.eq("sample_status", TO_HANDOUT).or().eq("sample_status", IN_MEASURE).or().eq("sample_status", MEASURE_COMPLETE); } BusinessOrderSampleRelation businessOrderSampleRelation = new BusinessOrderSampleRelation(); businessOrderSampleRelation.setSampleStatus(statusChangeDTO.getStatus()); @@ -238,12 +248,12 @@ } /** - * 判断不是自检 + * 判断不是自检,即外包和外检,进行环节设定 */ private boolean notSelfMeasure(DeviceDispatchVO dispatchVO) { if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType())) { - if (MeasureStatusEnum.TO_ALLOCATE.equals(String.valueOf(dispatchVO.getMeasureType())) || MeasureStatusEnum.TO_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { - String currentSegment = MeasureStatusEnum.TO_ALLOCATE.equals(dispatchVO.getMeasureType()) ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; + if (OTHERS_UNDERTAKE.equals(String.valueOf(dispatchVO.getMeasureType())) || OUTSIDE_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { + String currentSegment = OTHERS_UNDERTAKE.equals(dispatchVO.getMeasureType()) ? OUT_UNDERTAKE : OUT_MESASUR; dispatchVO.setCurrentSegment(currentSegment); return true; } @@ -251,6 +261,9 @@ return false; } + /** + * 其他条件的置为空 + */ private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { request.setSampleName(null); request.setSampleNo(null); @@ -264,18 +277,38 @@ } /** - * 判断样品是完成或接收状态,直接显示即可 + * 判断样品是完成或接收状态,进行当前阶段环节的设置 */ private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { - if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + if (TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_INCOME); return true; } - if (SampleStatusEnum.TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); + if (TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_ALLOCATE); return true; } return false; } + private boolean beforeStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(TO_INCOME)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + List orderSampleRelationList = this.orderSampleRelationMapper.selectList(queryWrapper); + Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); + if (orderSampleRelationOptional.isPresent()) { + BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); + if (businessOrderSampleRelation.getSampleStatus().equals(TO_ALLOCATE)) { + BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); + businessOrderSample.setRealDeliverTime(DateUtil.format(new Date(), "yyyy-MM-dd")); + int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); + return updateFlag > 0 ? true : false; + } + } + } + return true; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java index 4f06678..e2fea21 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerAdviceMapper; import com.casic.missiles.mapper.customer.CustomerMapper; @@ -34,7 +35,7 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerAdviceServiceImpl implements CustomerAdviceService { +public class CustomerAdviceServiceImpl implements CustomerAdviceService,PrefixCodeEnum { private final CustomerAdviceMapper customerAdviceMapper; private final IBaseExportService iBaseExportService; @@ -122,7 +123,7 @@ private void initCustomerAdviceInfo(CustomerAdviceInfo customerAdviceInfo) { Long maxNo = customerAdviceMapper.selectMaxAdviceNo(); - String adviceNo = NumberGeneratorUtil.getContactNo("khjy", maxNo); + String adviceNo = NumberGeneratorUtil.getContactNo(CUSTOMER_ADVICE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerAdviceInfo.setCreateUser(authUser.getId()); customerAdviceInfo.setUpdateUser(authUser.getId()); 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 4889e55..f9747dd 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 @@ -10,18 +10,19 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.sample.CertificationExpireStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; import com.casic.missiles.mapper.customer.CustomerMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerSampleListResponseMapper; import com.casic.missiles.mapper.customer.CustomerSampleMapper; -import com.casic.missiles.mapper.customer.customize.MesureRecordsResponseMapper; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -42,13 +43,11 @@ @Service @AllArgsConstructor -public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService { +public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService, CertificationExpireStatusEnum,PrefixCodeEnum{ private final CustomerSampleListResponseMapper customerSampleListResponseMapper; private final CustomerMapper customerMapper; private final IBaseExportService iBaseExportService; - private final CertificationResponseMapper certificationResponseMapper; - private final MesureRecordsResponseMapper mesureResponseMapper; private final BusinessOrderSampleRelationMapper sampleRelationMapper; @Override @@ -58,14 +57,14 @@ customerSamplePage.getRecords() .forEach(customerSample -> { BusinessOrderSampleRelation businessOrderSampleRelation = this.getSampleStatusById(customerSample.getId()); + customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); - customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); } }); for (CustomerSampleListResponse customerSampleListResponse : customerSamplePage.getRecords()) { - if (!StringUtils.isEmpty(customerSampleListResponse.getSampleSatus())) { + if (!StringUtils.isEmpty(customerSampleListResponse.getSampleStatus())) { DictCodeUtils.convertDictCodeToName(customerSampleListResponse); } } @@ -106,14 +105,13 @@ public CustomerSampleInfo sampleDetail(Long id) { CustomerSampleInfo customerSampleInfo = this.baseMapper.selectById(id); if (!ObjectUtils.isEmpty(customerSampleInfo)) { - doCustomerSampleInfoPopulation(customerSampleInfo); + doPopulateCustomerSampleInfo(customerSampleInfo); } return customerSampleInfo; } /** * 只导出样品列表信息 - * */ @Override public void sampleExport(CustomerSampleListRequest request, HttpServletResponse response) { @@ -135,7 +133,7 @@ BusinessOrderSampleRelation businessOrderSampleRelation = businessOrderMap.get(customerSample.getId()); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); } } @@ -159,26 +157,16 @@ } @Override - public Page measureRecordsBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page measureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); + public Page measureRecordsById(CustomerSampleIdRequest customerSampleIdRequest) { + Page page = PageFactory.defaultPage(); + Page measureRecordsResponsePage = this.baseMapper.measureRecordsById(page, customerSampleIdRequest); return measureRecordsResponsePage; } - @Override - public Page certificationBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page certificateResponsePage = certificationResponseMapper.selectPage(page, wrapper); - return certificateResponsePage; - } @Override - public Page samplesByOderId(Page page,Long orderId, String sampleNo, String sampleName) { - return this.baseMapper.samplesByOderId(page,orderId,sampleNo,sampleName); + public Page samplesByOderId(Page page, Long orderId, String sampleNo, String sampleName) { + return this.baseMapper.samplesByOderId(page, orderId, sampleNo, sampleName); } private BusinessOrderSampleRelation getSampleStatusById(Long sampleId) { @@ -190,9 +178,12 @@ return orderSampleOptional.isPresent() ? orderSampleOptional.get() : null; } + /** + * 初始化样品状态 + */ private void initSample(CustomerSampleInfo customerSampleInfo) { Long maxNo = this.baseMapper.selectMaxSampleNo(); - String sampleNo = NumberGeneratorUtil.getContactNo("khyp", maxNo); + String sampleNo = NumberGeneratorUtil.getContactNo(SAMPLE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setSampleNo(sampleNo); customerSampleInfo.setCreateUser(authUser.getId()); @@ -202,7 +193,6 @@ private QueryWrapper listParamWrapper(CustomerSampleListRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.select("id,sample_no,sample_name,sample_model,manufacturing_no,customer_id,measure_period,measure_last_time,remark,valid_deadline"); queryWrapper.like(StringUtils.isNotBlank(request.getSampleNo()), "sample_no", request.getSampleNo()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleName()), "sample_name", request.getSampleName()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleBelong()), "sample_belong", request.getSampleBelong()); @@ -210,9 +200,10 @@ queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); if (!StringUtils.isEmpty(request.getOvertimeStatus())) { - queryWrapper.apply(request.getOvertimeStatus().equals("1"), + queryWrapper.apply("1".equals(request.getOvertimeStatus()), + "sysdate() > DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); - queryWrapper.apply(request.getOvertimeStatus().equals("0"), + queryWrapper.apply("0".equals(request.getOvertimeStatus()), "sysdate() <= DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); } queryWrapper.apply(StringUtils.isNotBlank(request.getStartTime()), @@ -224,24 +215,30 @@ return queryWrapper; } + /** + * 通过证书到期时间进行到期状态的计算 + */ private String calculateCertificationStatus(String validDeadline) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if (StringUtils.isEmpty(validDeadline)) { - return "0"; + return NORMAL; } - if (validDeadline.compareTo(sdf.format(new Date())) > 0) { - return "2"; + if (validDeadline.compareTo(sdf.format(new Date())) < 0) { + return ALREADY_EXPIRE; } Calendar date = Calendar.getInstance(); date.setTime(new Date()); date.add(Calendar.DAY_OF_MONTH, -30); - if (validDeadline.compareTo(sdf.format(date.getTime())) > 0) { - return "1"; + if (validDeadline.compareTo(sdf.format(date.getTime())) < 0) { + return ALMOST_EXPIRE; } - return "0"; + return NORMAL; } - private void doCustomerSampleInfoPopulation(CustomerSampleInfo customerSampleInfo) { + /** + * 对样品列表的进行供应商联系方式的填充 + */ + private void doPopulateCustomerSampleInfo(CustomerSampleInfo customerSampleInfo) { CustomerInfo customerInfo = customerMapper.selectById(customerSampleInfo.getCustomerId()); if (!ObjectUtils.isEmpty(customerInfo)) { customerSampleInfo.setPhone(customerInfo.getPhone()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java index 32d4dee..f6e1f8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java @@ -11,13 +11,12 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerMapper; import com.casic.missiles.mapper.customer.CustomerUserMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerInfoResponseMapper; import com.casic.missiles.mapper.customer.customize.SampleRecordsResponseMapper; import com.casic.missiles.model.customer.CustomerInfo; @@ -38,11 +37,10 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerServiceImpl extends ServiceImpl implements CustomerService { +public class CustomerServiceImpl extends ServiceImpl implements CustomerService,PrefixCodeEnum { private final SampleRecordsResponseMapper sampleRecordsResponseMapper; private final CustomerUserMapper customerUserMapper; - private final CertificationResponseMapper certificationMapper; private final IBaseExportService iBaseExportService; private final CustomerInfoResponseMapper customerInfoResponseMapper; @@ -126,18 +124,9 @@ return contractRecordsResponsePage; } - @Override//暂定不做 - public Page mesureRecordsByCustomerId(Long customerId) { - Page measureRecordsResponsePage = PageFactory.defaultPage(); - return measureRecordsResponsePage; - } - @Override public Page certificationByCustomerId(Long customerId) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("customer_id", customerId); - return certificationMapper.selectPage(page, wrapper); + return null; } @Override @@ -163,8 +152,7 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); - queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "bussiness_size", request.getBusinessSize()); - queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); + queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "business_size", request.getBusinessSize()); queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); queryWrapper.eq("is_del", 0); return queryWrapper; @@ -172,7 +160,7 @@ private void initCustomerInfo(CustomerInfo customerInfo) { Long maxNo = this.baseMapper.selectMaxCustomerNo(); - String customerNo = NumberGeneratorUtil.getContactNo("khxx", maxNo); + String customerNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CUSTOMER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerInfo.setCreateUser(authUser.getId()); customerInfo.setUpdateUser(authUser.getId()); @@ -196,7 +184,7 @@ boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { customerUserInfo.setCustomerId(id); - String customerNo = NumberGeneratorUtil.getContactNo("khyh", maxUserNo++); + String customerNo = NumberGeneratorUtil.getContactNo(CUSTOMER_USER_PREFIX, maxUserNo++); customerUserInfo.setUserNo(customerNo); int userAddNum = customerUserMapper.insert(customerUserInfo); if (userAddNum <= 0) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java index d81a488..77e4caf 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java @@ -13,9 +13,10 @@ import com.casic.missiles.dto.equipment.AcceptanceCheckRequest; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentAcceptanceCheckMapper; @@ -183,7 +184,7 @@ public ReturnDTO addAcceptanceCheck(EquipmentApply equipmentApply) { Long maxNo = equipmentApplyMapper.selectMaxNo(); // 生成编号 - String applyNo = NumberGeneratorUtil.getContactNo("sbjxbyysd", maxNo); + String applyNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.REPAIR_MAINTAIN_PREFIX, maxNo); equipmentApply.setApplyNo(applyNo); // 草稿箱状态 equipmentApply.setApprovalStatus(ApprovalStatusEnum.DRAFT); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java index 38ad4e9..d468012 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java @@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.base.service.IBaseExportService; -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.IdDTO; @@ -20,6 +19,9 @@ import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java index 7c4fdbc..e6a1ff8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.equipment.CheckInfoRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoFileMapper; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoMapper; @@ -79,7 +80,7 @@ @Transactional public ReturnDTO addCheckInfo(EquipmentCheckInfo equipmentCheckInfo) { long maxNo = equipmentCheckInfoMapper.selectMaxNo(); - String checkNo = NumberGeneratorUtil.getContactNo("jc", maxNo); + String checkNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CHECK_PREFIX, maxNo); equipmentCheckInfo.setCheckNo(checkNo); if(equipmentCheckInfoMapper.insert(equipmentCheckInfo) > 0){ Long id = equipmentCheckInfo.getId(); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java index ba6a600..7ff9c16 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.equipment; -import cn.hutool.core.io.unit.DataUnit; import com.alibaba.excel.util.DateUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -13,7 +12,8 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.FixedAssetRequest; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentFixedAssetFileMapper; @@ -131,7 +131,7 @@ validManufacturingNo(meterFixedAssets); //生成资产编号 Long maxNo = meterFixedAssetsMapper.selectMaxNo(); - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); meterFixedAssets.setAssetNo(asset_no); meterFixedAssets.setEquipmentNo(asset_no); meterFixedAssetsMapper.insert(meterFixedAssets); @@ -164,7 +164,7 @@ //需要根据出厂编号判重 validManufacturingNo(item); //生成资产编号 - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); item.setAssetNo(asset_no); item.setEquipmentNo(asset_no); maxNo++; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java index 3e63a5a..2b29aa7 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java @@ -18,6 +18,8 @@ import com.casic.missiles.dto.equipment.StandardEquipmentApplyRequest; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.StandardApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java index caa63a7..afa6905 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java @@ -10,9 +10,9 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.StandardEquipmentRequest; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentFileMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentMapper; -import com.casic.missiles.model.equipment.EquipmentApply; import com.casic.missiles.model.equipment.EquipmentStandardEquipment; import com.casic.missiles.model.equipment.EquipmentStandardEquipmentFile; import com.casic.missiles.model.page.PageQuery; @@ -74,7 +74,7 @@ public ReturnDTO add(EquipmentStandardEquipment meterStandardEquipment) { //生成资产编号 Long maxNo = meterStandardEquipmentMapper.selectMaxNo(); - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); meterStandardEquipment.setStandardNo(standard_no); meterStandardEquipmentMapper.insert(meterStandardEquipment); // 插入文件列表 @@ -129,7 +129,7 @@ } DictCodeUtils.validDictCode(item); //生成资产编号 - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); item.setStandardNo(standard_no); maxNo++; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java index 481cf64..b749b2e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java @@ -2,7 +2,6 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.dto.IdDTO; @@ -12,7 +11,7 @@ import com.casic.missiles.dto.equipment.StateManageResponse; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java index 5dd6f8e..e566e01 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.EquipmentWorkbenchResponse; -import com.casic.missiles.enums.ApplyFromIdEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java index f3b9c4f..485287a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java @@ -6,7 +6,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.system.dao.DeptMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java index ce076b0..c20feb0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java @@ -4,7 +4,6 @@ import cn.hutool.core.lang.Assert; import cn.hutool.core.util.ObjectUtil; import com.alibaba.excel.util.DateUtils; -import com.alibaba.excel.util.StringUtils; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -22,18 +21,18 @@ import com.casic.missiles.dto.meter.MeterCertificateImport; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.enums.*; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterRoleTypeEnum; +import com.casic.missiles.enums.workbench.MessageTypeEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.meter.MeterCertificateExpireMessageMapper; import com.casic.missiles.mapper.meter.MeterCertificateMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.sys.UserInfoMapper; import com.casic.missiles.mapper.workbench.WorkbenchRemindMessageMapper; import com.casic.missiles.model.meter.MeterCertificate; -import com.casic.missiles.model.meter.MeterCertificateExpireMessage; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.model.system.UserInfo; import com.casic.missiles.model.workbench.WorkbenchRemindMessage; -import com.casic.missiles.service.meter.MeterCertificateExpireMessageService; import com.casic.missiles.service.meter.MeterCertificateService; import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; import com.casic.missiles.utils.ExportUtils; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java index ecf1fc3..e84f4d6 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java @@ -17,10 +17,11 @@ import com.casic.missiles.dto.meter.FileApprovalListResponse; import com.casic.missiles.dto.meter.FileListRequest; import com.casic.missiles.dto.meter.FileSaveResponse; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EffectiveStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.EffectiveStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterFileMapper; import com.casic.missiles.model.meter.MeterFile; @@ -92,7 +93,7 @@ public ReturnDTO saveFile(MeterFile file) { //生成文件编号 Long maxNo = meterFileMapper.selectMaxFileNo(); - String fileNo = NumberGeneratorUtil.getContactNo("jlwj", maxNo); + String fileNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FILE_PREFIX, maxNo); file.setFileNo(fileNo); file.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 Assert.isFalse(Objects.isNull(ShiroKit.getUser()), () -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java index 000e58a..467f03d 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java @@ -10,7 +10,8 @@ import com.casic.missiles.dto.meter.ParentDeptRequest; import com.casic.missiles.dto.meter.ParentDeptResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.model.meter.MeterOrganize; @@ -101,7 +102,7 @@ public int addOrganize(Dept dept) { //生成组织编号 Long maxNo = organizeMapper.selectMaxOrganizeNo(); - String organizeNo = NumberGeneratorUtil.getContactNo("jlzz", maxNo); + String organizeNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.ORGANIZE_PREFIX, maxNo); MeterOrganize meterOrganize = new MeterOrganize(); meterOrganize.setDeptId(dept.getId()); meterOrganize.setPDeptId(dept.getPid()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java index 7c3f9cf..643ba4c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java @@ -13,7 +13,8 @@ import com.casic.missiles.dto.meter.MeterPriceRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterPriceCategoryMapper; import com.casic.missiles.mapper.meter.MeterPriceItemMapper; @@ -83,7 +84,7 @@ MeterPriceItem item = new MeterPriceItem(null,priceCategory.getId(),meterPrice.getItemName()); if(categoryFlag>0 && meterPriceItemMapper.insert(item)>0){ Long maxNo = meterPriceMapper.getMaxNo(); - String priceNo = NumberGeneratorUtil.getContactNo("jg", maxNo); + String priceNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.PRICE_PREFIX, maxNo); meterPrice.setPriceNo(priceNo); meterPrice.setPriceType(priceCategory.getId().toString()); meterPrice.setPriceItem(item.getId().toString()); @@ -178,7 +179,7 @@ // 校验通过 AtomicLong maxNo = new AtomicLong(meterPriceMapper.getMaxNo()); list.forEach(bean->{ - String priceNo = NumberGeneratorUtil.getContactNo("jg", maxNo.get()); + String priceNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.PRICE_PREFIX, maxNo.get()); maxNo.set(Long.parseLong(priceNo.substring(2))); Long id= IdWorker.getId(); bean.setId(id); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java index 7c4a1a1..f79bb8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java @@ -15,7 +15,8 @@ import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterCertificateMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; @@ -42,7 +43,6 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; -import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.concurrent.atomic.AtomicBoolean; @@ -139,7 +139,7 @@ } long maxNo = meterStaffMapper.getMaxNo(); meterStaff.setIsDel(0); - String staffNo = NumberGeneratorUtil.getContactNo("jlry", maxNo); + String staffNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STAFF_PREFIX, maxNo); meterStaff.setStaffNo(staffNo); if(meterStaffMapper.insert(meterStaff)>0){ Long id = meterStaff.getId(); @@ -263,7 +263,7 @@ AtomicLong maxNo = new AtomicLong(meterStaffMapper.getMaxNo()); list.forEach(bean->{ // 生成编号 - String staffNo = NumberGeneratorUtil.getContactNo("jlry", maxNo.get()); + String staffNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STAFF_PREFIX, maxNo.get()); maxNo.set(Long.parseLong(staffNo.substring(4))); bean.setStaffNo(staffNo); // 获取id diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java index 535581f..0beebb1 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java @@ -14,9 +14,10 @@ import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.meter.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterTraceSupplierMapper; import com.casic.missiles.model.meter.MeterTraceSupplier; @@ -92,7 +93,7 @@ public ReturnDTO saveTraceSupplier(MeterTraceSupplier traceSupplier) { //生成编号 Long maxNo = traceSupplierMapper.selectMaxSupplierNo(); - String supplierNo = NumberGeneratorUtil.getContactNo("sygf", maxNo); + String supplierNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.TRACE_SUPPLIER_PREFIX, maxNo); traceSupplier.setSupplierNo(supplierNo); traceSupplier.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 Assert.isFalse(Objects.isNull(ShiroKit.getUser()), () -> { @@ -106,7 +107,7 @@ //存储溯源供方人员信息 boolean saveBatchFlag = true; List traceSupplierPersonList = traceSupplier.getTraceSupplierPersonList(); - if(!CollectionUtils.isEmpty(traceSupplierPersonList)){ + if (!CollectionUtils.isEmpty(traceSupplierPersonList)) { traceSupplierPersonList.forEach(person -> { person.setSupplierId(traceSupplier.getId()); }); @@ -119,7 +120,7 @@ //存储溯源供方标准装置信息 boolean saveBatchFlag2 = true; List standardEquipmentIds = traceSupplier.getStandardEquipmentIds(); - if(!CollectionUtils.isEmpty(standardEquipmentIds)){ + if (!CollectionUtils.isEmpty(standardEquipmentIds)) { List equipmentList = new ArrayList<>(); standardEquipmentIds.forEach(id -> { MeterTraceSupplierStandardEquipment equipment = new MeterTraceSupplierStandardEquipment(); @@ -154,7 +155,7 @@ traceSupplierPersonService.remove(wrapper); boolean saveFlag = true; //溯源供方人员可能为空 - if(!CollectionUtils.isEmpty(traceSupplierPersonList)){ + if (!CollectionUtils.isEmpty(traceSupplierPersonList)) { //再增加 traceSupplierPersonList.forEach(person -> { person.setSupplierId(traceSupplier.getId()); @@ -169,7 +170,7 @@ meterTraceSupplierStandardEquipmentService.remove(wrapper1); boolean saveBatchFlag2 = true; List standardEquipmentIds = traceSupplier.getStandardEquipmentIds(); - if(!CollectionUtils.isEmpty(standardEquipmentIds)){ + if (!CollectionUtils.isEmpty(standardEquipmentIds)) { List equipmentList = new ArrayList<>(); standardEquipmentIds.forEach(id -> { MeterTraceSupplierStandardEquipment equipment = new MeterTraceSupplierStandardEquipment(); @@ -195,10 +196,10 @@ String formId = request.getFormId(); ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); MeterTraceSupplier traceSupplier = new MeterTraceSupplier(); traceSupplier.setId(request.getId()); @@ -225,9 +226,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //本地删除 - if(traceSupplierMapper.deleteById(request.getId()) > 0){ + if (traceSupplierMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -267,16 +268,16 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -288,7 +289,7 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.IN_APPROVED); } @@ -296,7 +297,7 @@ //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.PASSED); } @@ -305,12 +306,12 @@ case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { List rejectList = traceSupplierMapper.selectBatchForApproval(page, request, rejectBusinessKey); rejectApprovalList = handleApprovalListResponse(approvalList, rejectList, ApprovalStatusEnum.FAILED_REJECT); } @@ -320,7 +321,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.CANCELED); } @@ -330,10 +331,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleAllApprovalListResponse(approvalList, list, AllApproveList); } @@ -343,9 +344,11 @@ } private List handleAllApprovalListResponse(List approvalList, List list, List allApproveList) { - Map taskMap = new HashMap<>(); + Map taskMap = new HashMap<>(); approvalList = ConvertUtils.sourceToTarget(list, TraceSupplierApprovalListResponse.class); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -369,7 +372,7 @@ @Override public ReturnDTO deleteTraceSupplier(Long id) { - if(traceSupplierMapper.deleteById(id) > 0){ + if (traceSupplierMapper.deleteById(id) > 0) { return ReturnUtil.success(); } return ReturnUtil.failed("刪除失败"); @@ -377,7 +380,7 @@ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - if(traceSupplierMapper.deleteBatchIds(ids) > 0){ + if (traceSupplierMapper.deleteBatchIds(ids) > 0) { return ReturnUtil.success(); } return ReturnUtil.failed("删除失败"); @@ -400,6 +403,7 @@ wrapper.eq("id", 12344321); return wrapper; } + wrapper.like(StringUtils.isNotBlank(request.getSupplierNo()), "supplier_no", request.getSupplierNo()); wrapper.like(StringUtils.isNotBlank(request.getSupplierName()), "supplier_name", request.getSupplierName()); wrapper.like(StringUtils.isNotBlank(request.getBusinessContent()), "business_content", request.getBusinessContent()); @@ -409,7 +413,7 @@ return wrapper; } - private List handleApprovalListResponse(List approvalList, List list, String status){ + private List handleApprovalListResponse(List approvalList, List list, String status) { approvalList = ConvertUtils.sourceToTarget(list, TraceSupplierApprovalListResponse.class); approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java index 0fd9403..bec30c8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.meter.TrainLogListRequest; import com.casic.missiles.dto.meter.TrainLogUpdateRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterTrainLogMapper; import com.casic.missiles.mapper.meter.MeterTrainStaffMapper; @@ -58,7 +59,7 @@ public ReturnDTO addTrainLog(TrainLogAddRequest request) { //生成编号 Long maxNo = trainLogMapper.selectMaxTrainLogNo(); - String logNo = NumberGeneratorUtil.getContactNo("pxjl", maxNo); + String logNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.TRAIN_LOG_PREFIX, maxNo); MeterTrainLog meterTrainLog = ConvertUtils.sourceToTarget(request, MeterTrainLog.class); meterTrainLog.setLogNo(logNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java index e4f4dcb..e3d0750 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java @@ -14,9 +14,10 @@ import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.meter.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.meter.MeterTrainPlanMapper; @@ -98,7 +99,7 @@ public ReturnDTO saveTrainPlan(MeterTrainPlan trainPlan) { //生成编号 Long maxNo = trainPlanMapper.selectMaxTrainPlanNo(); - String planNo = NumberGeneratorUtil.getContactNo("pxjh", maxNo); + String planNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.TRAIN_PLAN_PREFIX, maxNo); trainPlan.setPlanNo(planNo); trainPlan.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 Assert.isFalse(Objects.isNull(ShiroKit.getUser()), () -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterWorkbenchServiceImpl.java index 663d024..921ae71 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterWorkbenchServiceImpl.java @@ -10,8 +10,8 @@ import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.dto.meter.MeterWorkbenchRequest; import com.casic.missiles.dto.meter.MeterWorkbenchResponse; -import com.casic.missiles.enums.ExamResultEnum; -import com.casic.missiles.enums.MeterRoleTypeEnum; +import com.casic.missiles.enums.meter.ExamResultEnum; +import com.casic.missiles.enums.meter.MeterRoleTypeEnum; import com.casic.missiles.mapper.meter.MeterCertificateMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.meter.MeterTrainPlanMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java index 163c77f..5d76a52 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.system.FlowListRequest; import com.casic.missiles.dto.system.FlowProcDefDTO; import com.casic.missiles.dto.system.FlowUpdateStateRequest; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.FlowDefMapper; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java new file mode 100644 index 0000000..e196dda --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Builder; +import lombok.Data; + +/** + * @author cz + */ +@Data +@Builder +public class NotifyEventStatusDTO { + + /** + * 业务表主键 + */ + private String id; + /** + * 业务表状态 + */ + private String status; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java index 65c19e3..0f3e84f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java @@ -74,7 +74,7 @@ /** * 部门/科室/工程组名称 */ - @ExcelProperty("组织编号") + @ExcelProperty("组织名称") @ApiModelProperty(value = "计量组织名称", dataType = "String", required = true) @NotBlank(message = "计量组织名称不能为空") @TableField("organize_name") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java index 54dc5cd..244e431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java @@ -84,7 +84,7 @@ * 签名用户id(一个用户一个签名,签名不使用关联表,签章暂时使用和使用人的关联表) */ @TableField("sign_user_id") - private String signUserId; + private Long signUserId; /** * 签章或签名-字典code diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java index ca20ca4..0e94b9e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 2f97cb3..fdc4bf0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -3,7 +3,6 @@ import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -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; @@ -17,9 +16,10 @@ import com.casic.missiles.dto.flowable.ApprovalAgreeRequest; import com.casic.missiles.dto.flowable.ApprovalRefuseRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -42,10 +42,9 @@ */ @Service @AllArgsConstructor -public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { +public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService, CertificatePrintStatusEnum { private final IBaseApprovalService baseApprovalService; - private final AbstractDictService dictService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; @@ -86,7 +85,7 @@ } /** - * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 * * @return */ @@ -103,7 +102,7 @@ BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); //设置为不能打印 - certificateReport.setPrintStatus("2"); + certificateReport.setPrintStatus(NON_PRINTABLE); certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { @@ -113,7 +112,7 @@ } /** - * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 */ @Transactional @Override @@ -128,7 +127,7 @@ //审批状态为审批中 certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //打印状态审批中 - certificateReport.setPrintStatus("3"); + certificateReport.setPrintStatus(IN_APPROVAL); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -142,7 +141,7 @@ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)&&CollectionUtils.isEmpty(request.getIds())) { - handlerBeApproved(approvalList, page, request); + approvalList=handlerBeApproved(approvalList, page, request); }else { approvalList=this.baseMapper.selectBatchForApprovalList(page, request, null); } 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 d03ab22..164c53a 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,17 +7,22 @@ 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.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; -import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +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.MonitorCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -26,9 +31,9 @@ import com.casic.missiles.service.business.IBusinessCertificateReportService; import com.casic.missiles.service.business.IBusinessOriginalRecordService; import com.casic.missiles.service.flowable.ApprovalOperateService; -import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; +import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.runtime.ProcessInstance; @@ -68,8 +73,10 @@ private RuntimeService runtimeService; @Resource private IBaseExportService iBaseExportService; + /** * 保存证书报告信息 + * * @param certificateReport * @return */ @@ -77,7 +84,7 @@ public ReturnDTO saveCertificateReport(BusinessCertificateReport certificateReport) { initCertificateReport(certificateReport); - if(this.baseMapper.insert(certificateReport)>0) + if (this.baseMapper.insert(certificateReport) > 0) return ReturnUtil.success(); throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -90,9 +97,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //删除数据库记录 - if(this.baseMapper.deleteById(request.getId()) > 0){ + if (this.baseMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -101,7 +108,7 @@ @Override public ReturnDTO draftUpdate(BusinessCertificateReport certificateReport) { - if(this.baseMapper.updateById(certificateReport)>0){ + if (this.baseMapper.updateById(certificateReport) > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -109,25 +116,27 @@ /** * 批量删除 + * * @param ids * @return */ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - return baseMapper.deleteBatchIds(ids) > 0?ReturnUtil.success(): + return baseMapper.deleteBatchIds(ids) > 0 ? ReturnUtil.success() : ReturnUtil.failed("删除失败"); } /** * 证书报告详情 + * * @param id * @return */ @Override public BusinessCertificateReport certificateReportDetail(Long id) { BusinessCertificateReport certificateReport = this.baseMapper.selectById(id); - if(certificateReport.getOriginalRecordId()!=null){ + if (certificateReport.getOriginalRecordId() != null) { try { certificateReport.setBusinessOriginalRecord(originalRecordService.originalDetail(certificateReport.getOriginalRecordId())); } catch (Exception e) { @@ -139,6 +148,7 @@ /** * 提交证书报告 + * * @param request * @return */ @@ -148,10 +158,10 @@ String formId = request.getFormId(); //2.根据流程定义id启动流程实例 ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); certificateReport.setApprovalStatus(ApprovalStatusEnum.UN_DRAFT); //非草稿状态 @@ -165,6 +175,7 @@ /** * 审批状态列表查询 + * * @param page * @param request * @return @@ -182,6 +193,7 @@ /** * 驳回后更新 + * * @param certificateReport * @return */ @@ -208,13 +220,14 @@ @Override public void originExport(CertificateReportApprovalRequest request, HttpServletResponse response) { try { - //toDo: -// List certificateReportResponses = this.certificateReport(request); -// for (OriginRecordResponse originRecordResponse : originExportList) { -// //字典值转换 -// DictCodeUtils.convertDictCodeToName(originRecordResponse); -// } -// iBaseExportService.exportExcel(response, CertificateReportResponse.class, originExportList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); + //登录用户 + AuthUser user = ShiroKit.getUser(); + Assert.isFalse(Objects.isNull(user), () -> { + throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); + }); + request.setCreateUserId(user.getId()); + List reportResponseList = handleApprovalStatus(null, request); + iBaseExportService.exportExcel(response, CertificateReportResponse.class, reportResponseList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); } catch (Exception e) { log.error("证书报告导出出现异常,异常信息为{}", e); } @@ -231,15 +244,15 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -251,27 +264,27 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ - approvalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); + if (!CollectionUtils.isEmpty(businessKeys)) { + approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ - rejectApprovalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { + rejectApprovalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -279,7 +292,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.CANCELED); } break; @@ -288,10 +301,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleAllApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), AllApproveList); } break; @@ -299,9 +312,26 @@ return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List allApproveList) { - Map taskMap = new HashMap<>(); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + /** + * 客户、样品详情列表 + */ + @Override + public Page certificateRecordsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception { + Page page = PageFactory.defaultPage(); + Page certificateResponsePage = this.baseMapper.certificateRecordsById(page, customerSampleIdRequest); + for (CertificationResponse customerSampleListResponse : certificateResponsePage.getRecords()) { + if (!StringUtils.isEmpty(customerSampleListResponse.getCertificationClass())) { + DictCodeUtils.convertDictMultiCodeToName(customerSampleListResponse); + } + } + return certificateResponsePage; + } + + private List handleAllApprovalListResponse(List approvalList, List allApproveList) { + Map taskMap = new HashMap<>(); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -313,7 +343,7 @@ return approvalList.stream().sorted(Comparator.comparing(CertificateReportResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, String status){ + private List handleApprovalListResponse(List approvalList, String status) { approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); @@ -324,14 +354,14 @@ private void initCertificateReport(BusinessCertificateReport certificateReport) { String prefix = MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue() - +DateUtil.format(new Date(),"YYYYMM"); + + DateUtil.format(new Date(), "YYYYMM"); Long maxNo = this.baseMapper.selectMaxCode(prefix); //生成证书编号 - String certificateReportNo =NumberGeneratorUtil.getCode( - MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(),maxNo); + String certificateReportNo = NumberGeneratorUtil.getCode( + MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(), maxNo); AuthUser authUser = ShiroKit.getUser(); certificateReport.setCreateUser(authUser.getId()); - certificateReport.setMeasurePersonId(authUser.getId()+""); + certificateReport.setMeasurePersonId(authUser.getId() + ""); certificateReport.setMeasureDeptId(authUser.getDeptId()); certificateReport.setCertificateReportCode(certificateReportNo); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index c4ed5f6..5456773 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -12,13 +12,12 @@ import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; import com.casic.missiles.mapper.business.EnvironmentListResponseMapper; import com.casic.missiles.model.business.BusinessEnvironmentRecord; -import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 859010b..0d847a0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessInterchangeMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; @@ -35,7 +36,7 @@ * 业务管理-设备交接单 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @@ -83,7 +84,7 @@ } /** - * 更新不对样品有任何操作 + * 更新只是交接单的变更,没有任何其他单位的变化 */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { @@ -94,6 +95,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 交接单新增,同时在样品委托书管理表中新增交接单记录id + */ @Override @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { @@ -111,6 +115,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 选中判断ids存在,进行其他条件的清空 + */ @Override public void exportExchange(InterchangeListRequest request, HttpServletResponse response) { try { @@ -153,7 +160,7 @@ private void populationExchange(BusinessInterchange businessInterchange) { Long maxNo = this.baseMapper.selectMaxExchangeNo(); - String orderNo = NumberGeneratorUtil.getContactNo("jjdh", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.INTER_CHANGE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessInterchange.setCreateUser(authUser.getId()); businessInterchange.setInterchangeCode(orderNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java index 585a207..955cc7a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java @@ -13,19 +13,18 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.*; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.HandOutPropertyEnum; -import com.casic.missiles.enums.MeasureStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.HandOutPropertyEnum; +import com.casic.missiles.enums.business.MeasureStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.*; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; -import com.casic.missiles.model.business.BusinessLabExecutiveInfo; -import com.casic.missiles.model.business.BusinessLabExecutiveOperateLog; -import com.casic.missiles.model.business.BusinessLabExecutiveTemplateInfo; +import com.casic.missiles.model.business.*; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; import com.casic.missiles.service.business.IBusinessLabExecutiveTemplateInfoService; @@ -71,6 +70,8 @@ private AbstractDictService dictService; @Autowired private MeterStaffMapper staffMapper; + @Autowired + private BusinessOrderMapper orderMapper; @Override public Page handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) throws Exception{ @@ -377,7 +378,9 @@ if(CollectionUtils.isEmpty(unExecutiveInfos)){ //更新样品状态为检测完 orderSampleRelationMapper.updateByOrderIdAndSampleId(pre.getOrderId(), pre.getSampleId(), SampleStatusEnum.MEASURE_COMPLETE); - // TODO: 2023/2/17 委托书中所有样品检测完更新委托书接收状态为检测完成,需求待定 + + //委托书中所有样品检测完更新委托书接收状态为检测完成,未检测完的数量为0则表示全部检完 + updateOrderStatusComplete(pre); //将检测记录加入到实验室检测模板(仅全部为检测完成的才加入到模板,包含终止的不会加入) List labList = new ArrayList<>(); @@ -407,9 +410,27 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + @Transactional + public void updateOrderStatusComplete(SampleOperateRequest pre) { + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("order_id", pre.getOrderId()); + List statusList = new ArrayList<>(); + statusList.add(SampleStatusEnum.TO_RECEIVE); + statusList.add(SampleStatusEnum.TO_HANDOUT); + statusList.add(SampleStatusEnum.IN_MEASURE); + wrapper1.in("sample_status", statusList); + //同一事务中可查到更新后的数量 + if(orderSampleRelationMapper.selectCount(wrapper1) == 0){ + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(pre.getOrderId()); + businessOrder.setStatus(OrderStatusEnum.COMPLETE); + orderMapper.updateById(businessOrder); + } + } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + String templateCode = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.LAB_EXECUTIVE_TEMPLATE_PREFIX, maxNo + i); templateInfo.setTemplateCode(templateCode); // templateInfo.setSampleTypeId(); templateInfo.setSampleId(lab.getSampleId()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index f5c6f61..1d63554 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -14,6 +14,10 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; +import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; @@ -35,7 +39,6 @@ import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -45,12 +48,12 @@ * 业务管理-委托书 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @AllArgsConstructor -public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { +public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService,PrefixCodeEnum, OrderStatusEnum,SampleStatusEnum, MeasureTypeEnum { private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; @@ -90,8 +93,10 @@ List customerSampleList = new ArrayList<>(); for (BusinessOrderSampleRelation orderSample : orderSampleList) { CustomerSampleInfo customerSampleInfo = customerSampleService.sampleDetail(orderSample.getSampleId()); - customerSampleInfo.setIsExistSample("1"); - customerSampleList.add(customerSampleInfo); + if (null != customerSampleInfo) { + customerSampleInfo.setIsExistSample("1"); + customerSampleList.add(customerSampleInfo); + } } businessOrder.setCustomerSampleInfoList(customerSampleList); return businessOrder; @@ -202,7 +207,13 @@ @Override public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); - String dealType = "委托书" + ((status.equals("2")) ? "接收" : "退回"); + String dealType = ""; + if (status.equals(ALREADY_RECEIVED)) { + dealType = "委托书接收" ; + doUpdateSampleStatus(orderCancelRequest.getId(),TO_RECEIVE); + } else { + dealType = "委托书退回"; + } int addDealRecordFlag = addDealRecord(orderCancelRequest, dealType); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -216,7 +227,7 @@ @Override @Transactional public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { - int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), ALREADY_CANCEL); int addDealRecordFlag = addDealRecord(orderCancelRequest, "委托书取消"); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -250,6 +261,7 @@ return dealRecordMapper.insert(businessDealRecord); } + /** * 强调正在做状态更新 */ @@ -280,12 +292,12 @@ private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); - String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(ORDER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); - businessOrder.setStatus("1"); + businessOrder.setStatus(NOT_RECEIVED); } /** @@ -320,10 +332,23 @@ sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); - sampleStatusPopulation.setMeasureType("1"); + sampleStatusPopulation.setMeasureType(INSIDE_MEASURE); return this.sampleRelationMapper.insert(sampleStatusPopulation); } + /** + * 强调正在做状态更新 + */ + private int doUpdateSampleStatus(Long orderId, String sampleStatus) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", orderId); + BusinessOrderSampleRelation orderSample = new BusinessOrderSampleRelation(); + orderSample.setId(orderId); + orderSample.setSampleStatus(sampleStatus); + return this.sampleRelationMapper.update(orderSample, queryWrapper); + } + + private void doSampleListPopulation(BusinessOrder businessOrder) { businessOrder.getCustomerSampleInfoList().forEach( customerSampleInfo -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java index 1e35b7a..1c602b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java @@ -131,7 +131,7 @@ @Override public ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord) { - if (this.baseMapper.insert(businessOriginalRecord) > 0) { + if (this.baseMapper.updateById(businessOriginalRecord) > 0) { //加入技术文件绑定 if (ObjectUtil.isNotEmpty(businessOriginalRecord.getFileList()) && businessOriginalRecord.getFileList().size() > 0) { originalRecordFileRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getFileList()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java index 07c88e9..c9c1902 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.date.DateUtil; import com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -14,6 +15,7 @@ import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; @@ -29,6 +31,7 @@ import org.springframework.util.ObjectUtils; import javax.servlet.http.HttpServletResponse; +import java.util.Date; import java.util.List; import java.util.Objects; import java.util.Optional; @@ -39,7 +42,7 @@ @Service @Slf4j @AllArgsConstructor -public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService { +public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService, SampleStatusEnum, CurrentSegmentEnum, MeasureTypeEnum { private final BusinessOrderSampleRelationMapper orderSampleRelationMapper; private final BusinessCertificateReportMapper certificateReportMapper; @@ -73,20 +76,20 @@ Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.TO_HANDOUT: + case TO_HANDOUT: //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 - case SampleStatusEnum.IN_MEASURE: + case IN_MEASURE: //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.MEASURE_COMPLETE: + case MEASURE_COMPLETE: doDispatchVoPopulation(dispatchVO, sampleId, orderId); return; //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 - case SampleStatusEnum.BE_OVERDUE: + case BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); @@ -126,12 +129,14 @@ /** - * 状态更新 + * 根据sampleId,orderId,进行状态更新 */ @Override + @Transactional public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { + boolean beforeEventFlag = beforeStatusChange(deviceStatusChangeDTO); Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFlag > 0) { + if (updateFlag > 0 && beforeEventFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -181,8 +186,9 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); +// queryWrapper.ne("order_id", deviceStatusChangeDTO.getOrderId()); BusinessLabExecutiveInfo businessLabExecutiveInfo = new BusinessLabExecutiveInfo(); - businessLabExecutiveInfo.setMeasureStatus(deviceStatusChangeDTO.getStatus()); +// businessLabExecutiveInfo.setMeasureStatus(); businessLabExecutiveInfo.setRemark(deviceStatusChangeDTO.getReason()); labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } @@ -214,6 +220,9 @@ return handOutLabExecutiveDTOOptional.orElse(null); } + /** + * 构建证书的查询条件 + */ private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("order_id", dispatchVO.getOrderId()); @@ -230,7 +239,8 @@ queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); if (terminateFlag) { - queryWrapper.eq("sample_status", "2").or().eq("sample_status", "3").or().eq("sample_status", "4"); + //若是终止,需要对应待分发、检测中、检测完三个状态的变更 + queryWrapper.eq("sample_status", TO_HANDOUT).or().eq("sample_status", IN_MEASURE).or().eq("sample_status", MEASURE_COMPLETE); } BusinessOrderSampleRelation businessOrderSampleRelation = new BusinessOrderSampleRelation(); businessOrderSampleRelation.setSampleStatus(statusChangeDTO.getStatus()); @@ -238,12 +248,12 @@ } /** - * 判断不是自检 + * 判断不是自检,即外包和外检,进行环节设定 */ private boolean notSelfMeasure(DeviceDispatchVO dispatchVO) { if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType())) { - if (MeasureStatusEnum.TO_ALLOCATE.equals(String.valueOf(dispatchVO.getMeasureType())) || MeasureStatusEnum.TO_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { - String currentSegment = MeasureStatusEnum.TO_ALLOCATE.equals(dispatchVO.getMeasureType()) ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; + if (OTHERS_UNDERTAKE.equals(String.valueOf(dispatchVO.getMeasureType())) || OUTSIDE_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { + String currentSegment = OTHERS_UNDERTAKE.equals(dispatchVO.getMeasureType()) ? OUT_UNDERTAKE : OUT_MESASUR; dispatchVO.setCurrentSegment(currentSegment); return true; } @@ -251,6 +261,9 @@ return false; } + /** + * 其他条件的置为空 + */ private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { request.setSampleName(null); request.setSampleNo(null); @@ -264,18 +277,38 @@ } /** - * 判断样品是完成或接收状态,直接显示即可 + * 判断样品是完成或接收状态,进行当前阶段环节的设置 */ private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { - if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + if (TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_INCOME); return true; } - if (SampleStatusEnum.TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); + if (TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_ALLOCATE); return true; } return false; } + private boolean beforeStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(TO_INCOME)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + List orderSampleRelationList = this.orderSampleRelationMapper.selectList(queryWrapper); + Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); + if (orderSampleRelationOptional.isPresent()) { + BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); + if (businessOrderSampleRelation.getSampleStatus().equals(TO_ALLOCATE)) { + BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); + businessOrderSample.setRealDeliverTime(DateUtil.format(new Date(), "yyyy-MM-dd")); + int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); + return updateFlag > 0 ? true : false; + } + } + } + return true; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java index 4f06678..e2fea21 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerAdviceMapper; import com.casic.missiles.mapper.customer.CustomerMapper; @@ -34,7 +35,7 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerAdviceServiceImpl implements CustomerAdviceService { +public class CustomerAdviceServiceImpl implements CustomerAdviceService,PrefixCodeEnum { private final CustomerAdviceMapper customerAdviceMapper; private final IBaseExportService iBaseExportService; @@ -122,7 +123,7 @@ private void initCustomerAdviceInfo(CustomerAdviceInfo customerAdviceInfo) { Long maxNo = customerAdviceMapper.selectMaxAdviceNo(); - String adviceNo = NumberGeneratorUtil.getContactNo("khjy", maxNo); + String adviceNo = NumberGeneratorUtil.getContactNo(CUSTOMER_ADVICE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerAdviceInfo.setCreateUser(authUser.getId()); customerAdviceInfo.setUpdateUser(authUser.getId()); 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 4889e55..f9747dd 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 @@ -10,18 +10,19 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.sample.CertificationExpireStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; import com.casic.missiles.mapper.customer.CustomerMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerSampleListResponseMapper; import com.casic.missiles.mapper.customer.CustomerSampleMapper; -import com.casic.missiles.mapper.customer.customize.MesureRecordsResponseMapper; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -42,13 +43,11 @@ @Service @AllArgsConstructor -public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService { +public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService, CertificationExpireStatusEnum,PrefixCodeEnum{ private final CustomerSampleListResponseMapper customerSampleListResponseMapper; private final CustomerMapper customerMapper; private final IBaseExportService iBaseExportService; - private final CertificationResponseMapper certificationResponseMapper; - private final MesureRecordsResponseMapper mesureResponseMapper; private final BusinessOrderSampleRelationMapper sampleRelationMapper; @Override @@ -58,14 +57,14 @@ customerSamplePage.getRecords() .forEach(customerSample -> { BusinessOrderSampleRelation businessOrderSampleRelation = this.getSampleStatusById(customerSample.getId()); + customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); - customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); } }); for (CustomerSampleListResponse customerSampleListResponse : customerSamplePage.getRecords()) { - if (!StringUtils.isEmpty(customerSampleListResponse.getSampleSatus())) { + if (!StringUtils.isEmpty(customerSampleListResponse.getSampleStatus())) { DictCodeUtils.convertDictCodeToName(customerSampleListResponse); } } @@ -106,14 +105,13 @@ public CustomerSampleInfo sampleDetail(Long id) { CustomerSampleInfo customerSampleInfo = this.baseMapper.selectById(id); if (!ObjectUtils.isEmpty(customerSampleInfo)) { - doCustomerSampleInfoPopulation(customerSampleInfo); + doPopulateCustomerSampleInfo(customerSampleInfo); } return customerSampleInfo; } /** * 只导出样品列表信息 - * */ @Override public void sampleExport(CustomerSampleListRequest request, HttpServletResponse response) { @@ -135,7 +133,7 @@ BusinessOrderSampleRelation businessOrderSampleRelation = businessOrderMap.get(customerSample.getId()); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); } } @@ -159,26 +157,16 @@ } @Override - public Page measureRecordsBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page measureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); + public Page measureRecordsById(CustomerSampleIdRequest customerSampleIdRequest) { + Page page = PageFactory.defaultPage(); + Page measureRecordsResponsePage = this.baseMapper.measureRecordsById(page, customerSampleIdRequest); return measureRecordsResponsePage; } - @Override - public Page certificationBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page certificateResponsePage = certificationResponseMapper.selectPage(page, wrapper); - return certificateResponsePage; - } @Override - public Page samplesByOderId(Page page,Long orderId, String sampleNo, String sampleName) { - return this.baseMapper.samplesByOderId(page,orderId,sampleNo,sampleName); + public Page samplesByOderId(Page page, Long orderId, String sampleNo, String sampleName) { + return this.baseMapper.samplesByOderId(page, orderId, sampleNo, sampleName); } private BusinessOrderSampleRelation getSampleStatusById(Long sampleId) { @@ -190,9 +178,12 @@ return orderSampleOptional.isPresent() ? orderSampleOptional.get() : null; } + /** + * 初始化样品状态 + */ private void initSample(CustomerSampleInfo customerSampleInfo) { Long maxNo = this.baseMapper.selectMaxSampleNo(); - String sampleNo = NumberGeneratorUtil.getContactNo("khyp", maxNo); + String sampleNo = NumberGeneratorUtil.getContactNo(SAMPLE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setSampleNo(sampleNo); customerSampleInfo.setCreateUser(authUser.getId()); @@ -202,7 +193,6 @@ private QueryWrapper listParamWrapper(CustomerSampleListRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.select("id,sample_no,sample_name,sample_model,manufacturing_no,customer_id,measure_period,measure_last_time,remark,valid_deadline"); queryWrapper.like(StringUtils.isNotBlank(request.getSampleNo()), "sample_no", request.getSampleNo()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleName()), "sample_name", request.getSampleName()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleBelong()), "sample_belong", request.getSampleBelong()); @@ -210,9 +200,10 @@ queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); if (!StringUtils.isEmpty(request.getOvertimeStatus())) { - queryWrapper.apply(request.getOvertimeStatus().equals("1"), + queryWrapper.apply("1".equals(request.getOvertimeStatus()), + "sysdate() > DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); - queryWrapper.apply(request.getOvertimeStatus().equals("0"), + queryWrapper.apply("0".equals(request.getOvertimeStatus()), "sysdate() <= DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); } queryWrapper.apply(StringUtils.isNotBlank(request.getStartTime()), @@ -224,24 +215,30 @@ return queryWrapper; } + /** + * 通过证书到期时间进行到期状态的计算 + */ private String calculateCertificationStatus(String validDeadline) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if (StringUtils.isEmpty(validDeadline)) { - return "0"; + return NORMAL; } - if (validDeadline.compareTo(sdf.format(new Date())) > 0) { - return "2"; + if (validDeadline.compareTo(sdf.format(new Date())) < 0) { + return ALREADY_EXPIRE; } Calendar date = Calendar.getInstance(); date.setTime(new Date()); date.add(Calendar.DAY_OF_MONTH, -30); - if (validDeadline.compareTo(sdf.format(date.getTime())) > 0) { - return "1"; + if (validDeadline.compareTo(sdf.format(date.getTime())) < 0) { + return ALMOST_EXPIRE; } - return "0"; + return NORMAL; } - private void doCustomerSampleInfoPopulation(CustomerSampleInfo customerSampleInfo) { + /** + * 对样品列表的进行供应商联系方式的填充 + */ + private void doPopulateCustomerSampleInfo(CustomerSampleInfo customerSampleInfo) { CustomerInfo customerInfo = customerMapper.selectById(customerSampleInfo.getCustomerId()); if (!ObjectUtils.isEmpty(customerInfo)) { customerSampleInfo.setPhone(customerInfo.getPhone()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java index 32d4dee..f6e1f8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java @@ -11,13 +11,12 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerMapper; import com.casic.missiles.mapper.customer.CustomerUserMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerInfoResponseMapper; import com.casic.missiles.mapper.customer.customize.SampleRecordsResponseMapper; import com.casic.missiles.model.customer.CustomerInfo; @@ -38,11 +37,10 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerServiceImpl extends ServiceImpl implements CustomerService { +public class CustomerServiceImpl extends ServiceImpl implements CustomerService,PrefixCodeEnum { private final SampleRecordsResponseMapper sampleRecordsResponseMapper; private final CustomerUserMapper customerUserMapper; - private final CertificationResponseMapper certificationMapper; private final IBaseExportService iBaseExportService; private final CustomerInfoResponseMapper customerInfoResponseMapper; @@ -126,18 +124,9 @@ return contractRecordsResponsePage; } - @Override//暂定不做 - public Page mesureRecordsByCustomerId(Long customerId) { - Page measureRecordsResponsePage = PageFactory.defaultPage(); - return measureRecordsResponsePage; - } - @Override public Page certificationByCustomerId(Long customerId) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("customer_id", customerId); - return certificationMapper.selectPage(page, wrapper); + return null; } @Override @@ -163,8 +152,7 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); - queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "bussiness_size", request.getBusinessSize()); - queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); + queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "business_size", request.getBusinessSize()); queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); queryWrapper.eq("is_del", 0); return queryWrapper; @@ -172,7 +160,7 @@ private void initCustomerInfo(CustomerInfo customerInfo) { Long maxNo = this.baseMapper.selectMaxCustomerNo(); - String customerNo = NumberGeneratorUtil.getContactNo("khxx", maxNo); + String customerNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CUSTOMER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerInfo.setCreateUser(authUser.getId()); customerInfo.setUpdateUser(authUser.getId()); @@ -196,7 +184,7 @@ boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { customerUserInfo.setCustomerId(id); - String customerNo = NumberGeneratorUtil.getContactNo("khyh", maxUserNo++); + String customerNo = NumberGeneratorUtil.getContactNo(CUSTOMER_USER_PREFIX, maxUserNo++); customerUserInfo.setUserNo(customerNo); int userAddNum = customerUserMapper.insert(customerUserInfo); if (userAddNum <= 0) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java index d81a488..77e4caf 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java @@ -13,9 +13,10 @@ import com.casic.missiles.dto.equipment.AcceptanceCheckRequest; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentAcceptanceCheckMapper; @@ -183,7 +184,7 @@ public ReturnDTO addAcceptanceCheck(EquipmentApply equipmentApply) { Long maxNo = equipmentApplyMapper.selectMaxNo(); // 生成编号 - String applyNo = NumberGeneratorUtil.getContactNo("sbjxbyysd", maxNo); + String applyNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.REPAIR_MAINTAIN_PREFIX, maxNo); equipmentApply.setApplyNo(applyNo); // 草稿箱状态 equipmentApply.setApprovalStatus(ApprovalStatusEnum.DRAFT); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java index 38ad4e9..d468012 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java @@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.base.service.IBaseExportService; -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.IdDTO; @@ -20,6 +19,9 @@ import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java index 7c4fdbc..e6a1ff8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.equipment.CheckInfoRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoFileMapper; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoMapper; @@ -79,7 +80,7 @@ @Transactional public ReturnDTO addCheckInfo(EquipmentCheckInfo equipmentCheckInfo) { long maxNo = equipmentCheckInfoMapper.selectMaxNo(); - String checkNo = NumberGeneratorUtil.getContactNo("jc", maxNo); + String checkNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CHECK_PREFIX, maxNo); equipmentCheckInfo.setCheckNo(checkNo); if(equipmentCheckInfoMapper.insert(equipmentCheckInfo) > 0){ Long id = equipmentCheckInfo.getId(); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java index ba6a600..7ff9c16 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.equipment; -import cn.hutool.core.io.unit.DataUnit; import com.alibaba.excel.util.DateUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -13,7 +12,8 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.FixedAssetRequest; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentFixedAssetFileMapper; @@ -131,7 +131,7 @@ validManufacturingNo(meterFixedAssets); //生成资产编号 Long maxNo = meterFixedAssetsMapper.selectMaxNo(); - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); meterFixedAssets.setAssetNo(asset_no); meterFixedAssets.setEquipmentNo(asset_no); meterFixedAssetsMapper.insert(meterFixedAssets); @@ -164,7 +164,7 @@ //需要根据出厂编号判重 validManufacturingNo(item); //生成资产编号 - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); item.setAssetNo(asset_no); item.setEquipmentNo(asset_no); maxNo++; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java index 3e63a5a..2b29aa7 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java @@ -18,6 +18,8 @@ import com.casic.missiles.dto.equipment.StandardEquipmentApplyRequest; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.StandardApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java index caa63a7..afa6905 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java @@ -10,9 +10,9 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.StandardEquipmentRequest; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentFileMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentMapper; -import com.casic.missiles.model.equipment.EquipmentApply; import com.casic.missiles.model.equipment.EquipmentStandardEquipment; import com.casic.missiles.model.equipment.EquipmentStandardEquipmentFile; import com.casic.missiles.model.page.PageQuery; @@ -74,7 +74,7 @@ public ReturnDTO add(EquipmentStandardEquipment meterStandardEquipment) { //生成资产编号 Long maxNo = meterStandardEquipmentMapper.selectMaxNo(); - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); meterStandardEquipment.setStandardNo(standard_no); meterStandardEquipmentMapper.insert(meterStandardEquipment); // 插入文件列表 @@ -129,7 +129,7 @@ } DictCodeUtils.validDictCode(item); //生成资产编号 - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); item.setStandardNo(standard_no); maxNo++; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java index 481cf64..b749b2e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java @@ -2,7 +2,6 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.dto.IdDTO; @@ -12,7 +11,7 @@ import com.casic.missiles.dto.equipment.StateManageResponse; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java index 5dd6f8e..e566e01 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.EquipmentWorkbenchResponse; -import com.casic.missiles.enums.ApplyFromIdEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java index f3b9c4f..485287a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java @@ -6,7 +6,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.system.dao.DeptMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java index ce076b0..c20feb0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java @@ -4,7 +4,6 @@ import cn.hutool.core.lang.Assert; import cn.hutool.core.util.ObjectUtil; import com.alibaba.excel.util.DateUtils; -import com.alibaba.excel.util.StringUtils; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -22,18 +21,18 @@ import com.casic.missiles.dto.meter.MeterCertificateImport; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.enums.*; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterRoleTypeEnum; +import com.casic.missiles.enums.workbench.MessageTypeEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.meter.MeterCertificateExpireMessageMapper; import com.casic.missiles.mapper.meter.MeterCertificateMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.sys.UserInfoMapper; import com.casic.missiles.mapper.workbench.WorkbenchRemindMessageMapper; import com.casic.missiles.model.meter.MeterCertificate; -import com.casic.missiles.model.meter.MeterCertificateExpireMessage; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.model.system.UserInfo; import com.casic.missiles.model.workbench.WorkbenchRemindMessage; -import com.casic.missiles.service.meter.MeterCertificateExpireMessageService; import com.casic.missiles.service.meter.MeterCertificateService; import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; import com.casic.missiles.utils.ExportUtils; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java index ecf1fc3..e84f4d6 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java @@ -17,10 +17,11 @@ import com.casic.missiles.dto.meter.FileApprovalListResponse; import com.casic.missiles.dto.meter.FileListRequest; import com.casic.missiles.dto.meter.FileSaveResponse; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EffectiveStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.EffectiveStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterFileMapper; import com.casic.missiles.model.meter.MeterFile; @@ -92,7 +93,7 @@ public ReturnDTO saveFile(MeterFile file) { //生成文件编号 Long maxNo = meterFileMapper.selectMaxFileNo(); - String fileNo = NumberGeneratorUtil.getContactNo("jlwj", maxNo); + String fileNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FILE_PREFIX, maxNo); file.setFileNo(fileNo); file.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 Assert.isFalse(Objects.isNull(ShiroKit.getUser()), () -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java index 000e58a..467f03d 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java @@ -10,7 +10,8 @@ import com.casic.missiles.dto.meter.ParentDeptRequest; import com.casic.missiles.dto.meter.ParentDeptResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.model.meter.MeterOrganize; @@ -101,7 +102,7 @@ public int addOrganize(Dept dept) { //生成组织编号 Long maxNo = organizeMapper.selectMaxOrganizeNo(); - String organizeNo = NumberGeneratorUtil.getContactNo("jlzz", maxNo); + String organizeNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.ORGANIZE_PREFIX, maxNo); MeterOrganize meterOrganize = new MeterOrganize(); meterOrganize.setDeptId(dept.getId()); meterOrganize.setPDeptId(dept.getPid()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java index 7c3f9cf..643ba4c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java @@ -13,7 +13,8 @@ import com.casic.missiles.dto.meter.MeterPriceRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterPriceCategoryMapper; import com.casic.missiles.mapper.meter.MeterPriceItemMapper; @@ -83,7 +84,7 @@ MeterPriceItem item = new MeterPriceItem(null,priceCategory.getId(),meterPrice.getItemName()); if(categoryFlag>0 && meterPriceItemMapper.insert(item)>0){ Long maxNo = meterPriceMapper.getMaxNo(); - String priceNo = NumberGeneratorUtil.getContactNo("jg", maxNo); + String priceNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.PRICE_PREFIX, maxNo); meterPrice.setPriceNo(priceNo); meterPrice.setPriceType(priceCategory.getId().toString()); meterPrice.setPriceItem(item.getId().toString()); @@ -178,7 +179,7 @@ // 校验通过 AtomicLong maxNo = new AtomicLong(meterPriceMapper.getMaxNo()); list.forEach(bean->{ - String priceNo = NumberGeneratorUtil.getContactNo("jg", maxNo.get()); + String priceNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.PRICE_PREFIX, maxNo.get()); maxNo.set(Long.parseLong(priceNo.substring(2))); Long id= IdWorker.getId(); bean.setId(id); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java index 7c4a1a1..f79bb8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java @@ -15,7 +15,8 @@ import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterCertificateMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; @@ -42,7 +43,6 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; -import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.concurrent.atomic.AtomicBoolean; @@ -139,7 +139,7 @@ } long maxNo = meterStaffMapper.getMaxNo(); meterStaff.setIsDel(0); - String staffNo = NumberGeneratorUtil.getContactNo("jlry", maxNo); + String staffNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STAFF_PREFIX, maxNo); meterStaff.setStaffNo(staffNo); if(meterStaffMapper.insert(meterStaff)>0){ Long id = meterStaff.getId(); @@ -263,7 +263,7 @@ AtomicLong maxNo = new AtomicLong(meterStaffMapper.getMaxNo()); list.forEach(bean->{ // 生成编号 - String staffNo = NumberGeneratorUtil.getContactNo("jlry", maxNo.get()); + String staffNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STAFF_PREFIX, maxNo.get()); maxNo.set(Long.parseLong(staffNo.substring(4))); bean.setStaffNo(staffNo); // 获取id diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java index 535581f..0beebb1 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java @@ -14,9 +14,10 @@ import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.meter.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterTraceSupplierMapper; import com.casic.missiles.model.meter.MeterTraceSupplier; @@ -92,7 +93,7 @@ public ReturnDTO saveTraceSupplier(MeterTraceSupplier traceSupplier) { //生成编号 Long maxNo = traceSupplierMapper.selectMaxSupplierNo(); - String supplierNo = NumberGeneratorUtil.getContactNo("sygf", maxNo); + String supplierNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.TRACE_SUPPLIER_PREFIX, maxNo); traceSupplier.setSupplierNo(supplierNo); traceSupplier.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 Assert.isFalse(Objects.isNull(ShiroKit.getUser()), () -> { @@ -106,7 +107,7 @@ //存储溯源供方人员信息 boolean saveBatchFlag = true; List traceSupplierPersonList = traceSupplier.getTraceSupplierPersonList(); - if(!CollectionUtils.isEmpty(traceSupplierPersonList)){ + if (!CollectionUtils.isEmpty(traceSupplierPersonList)) { traceSupplierPersonList.forEach(person -> { person.setSupplierId(traceSupplier.getId()); }); @@ -119,7 +120,7 @@ //存储溯源供方标准装置信息 boolean saveBatchFlag2 = true; List standardEquipmentIds = traceSupplier.getStandardEquipmentIds(); - if(!CollectionUtils.isEmpty(standardEquipmentIds)){ + if (!CollectionUtils.isEmpty(standardEquipmentIds)) { List equipmentList = new ArrayList<>(); standardEquipmentIds.forEach(id -> { MeterTraceSupplierStandardEquipment equipment = new MeterTraceSupplierStandardEquipment(); @@ -154,7 +155,7 @@ traceSupplierPersonService.remove(wrapper); boolean saveFlag = true; //溯源供方人员可能为空 - if(!CollectionUtils.isEmpty(traceSupplierPersonList)){ + if (!CollectionUtils.isEmpty(traceSupplierPersonList)) { //再增加 traceSupplierPersonList.forEach(person -> { person.setSupplierId(traceSupplier.getId()); @@ -169,7 +170,7 @@ meterTraceSupplierStandardEquipmentService.remove(wrapper1); boolean saveBatchFlag2 = true; List standardEquipmentIds = traceSupplier.getStandardEquipmentIds(); - if(!CollectionUtils.isEmpty(standardEquipmentIds)){ + if (!CollectionUtils.isEmpty(standardEquipmentIds)) { List equipmentList = new ArrayList<>(); standardEquipmentIds.forEach(id -> { MeterTraceSupplierStandardEquipment equipment = new MeterTraceSupplierStandardEquipment(); @@ -195,10 +196,10 @@ String formId = request.getFormId(); ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); MeterTraceSupplier traceSupplier = new MeterTraceSupplier(); traceSupplier.setId(request.getId()); @@ -225,9 +226,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //本地删除 - if(traceSupplierMapper.deleteById(request.getId()) > 0){ + if (traceSupplierMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -267,16 +268,16 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -288,7 +289,7 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.IN_APPROVED); } @@ -296,7 +297,7 @@ //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.PASSED); } @@ -305,12 +306,12 @@ case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { List rejectList = traceSupplierMapper.selectBatchForApproval(page, request, rejectBusinessKey); rejectApprovalList = handleApprovalListResponse(approvalList, rejectList, ApprovalStatusEnum.FAILED_REJECT); } @@ -320,7 +321,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.CANCELED); } @@ -330,10 +331,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleAllApprovalListResponse(approvalList, list, AllApproveList); } @@ -343,9 +344,11 @@ } private List handleAllApprovalListResponse(List approvalList, List list, List allApproveList) { - Map taskMap = new HashMap<>(); + Map taskMap = new HashMap<>(); approvalList = ConvertUtils.sourceToTarget(list, TraceSupplierApprovalListResponse.class); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -369,7 +372,7 @@ @Override public ReturnDTO deleteTraceSupplier(Long id) { - if(traceSupplierMapper.deleteById(id) > 0){ + if (traceSupplierMapper.deleteById(id) > 0) { return ReturnUtil.success(); } return ReturnUtil.failed("刪除失败"); @@ -377,7 +380,7 @@ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - if(traceSupplierMapper.deleteBatchIds(ids) > 0){ + if (traceSupplierMapper.deleteBatchIds(ids) > 0) { return ReturnUtil.success(); } return ReturnUtil.failed("删除失败"); @@ -400,6 +403,7 @@ wrapper.eq("id", 12344321); return wrapper; } + wrapper.like(StringUtils.isNotBlank(request.getSupplierNo()), "supplier_no", request.getSupplierNo()); wrapper.like(StringUtils.isNotBlank(request.getSupplierName()), "supplier_name", request.getSupplierName()); wrapper.like(StringUtils.isNotBlank(request.getBusinessContent()), "business_content", request.getBusinessContent()); @@ -409,7 +413,7 @@ return wrapper; } - private List handleApprovalListResponse(List approvalList, List list, String status){ + private List handleApprovalListResponse(List approvalList, List list, String status) { approvalList = ConvertUtils.sourceToTarget(list, TraceSupplierApprovalListResponse.class); approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java index 0fd9403..bec30c8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.meter.TrainLogListRequest; import com.casic.missiles.dto.meter.TrainLogUpdateRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterTrainLogMapper; import com.casic.missiles.mapper.meter.MeterTrainStaffMapper; @@ -58,7 +59,7 @@ public ReturnDTO addTrainLog(TrainLogAddRequest request) { //生成编号 Long maxNo = trainLogMapper.selectMaxTrainLogNo(); - String logNo = NumberGeneratorUtil.getContactNo("pxjl", maxNo); + String logNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.TRAIN_LOG_PREFIX, maxNo); MeterTrainLog meterTrainLog = ConvertUtils.sourceToTarget(request, MeterTrainLog.class); meterTrainLog.setLogNo(logNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java index e4f4dcb..e3d0750 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java @@ -14,9 +14,10 @@ import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.meter.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.meter.MeterTrainPlanMapper; @@ -98,7 +99,7 @@ public ReturnDTO saveTrainPlan(MeterTrainPlan trainPlan) { //生成编号 Long maxNo = trainPlanMapper.selectMaxTrainPlanNo(); - String planNo = NumberGeneratorUtil.getContactNo("pxjh", maxNo); + String planNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.TRAIN_PLAN_PREFIX, maxNo); trainPlan.setPlanNo(planNo); trainPlan.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 Assert.isFalse(Objects.isNull(ShiroKit.getUser()), () -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterWorkbenchServiceImpl.java index 663d024..921ae71 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterWorkbenchServiceImpl.java @@ -10,8 +10,8 @@ import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.dto.meter.MeterWorkbenchRequest; import com.casic.missiles.dto.meter.MeterWorkbenchResponse; -import com.casic.missiles.enums.ExamResultEnum; -import com.casic.missiles.enums.MeterRoleTypeEnum; +import com.casic.missiles.enums.meter.ExamResultEnum; +import com.casic.missiles.enums.meter.MeterRoleTypeEnum; import com.casic.missiles.mapper.meter.MeterCertificateMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.meter.MeterTrainPlanMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java index 163c77f..5d76a52 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.system.FlowListRequest; import com.casic.missiles.dto.system.FlowProcDefDTO; import com.casic.missiles.dto.system.FlowUpdateStateRequest; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.FlowDefMapper; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java index dcebbbd..f59ae28 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.system.NoticeAddRequest; import com.casic.missiles.dto.system.NoticeListRequest; import com.casic.missiles.dto.system.NoticeReadRequest; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.system.SystemNoticeMapper; import com.casic.missiles.mapper.system.SystemNoticeUserRelationMapper; import com.casic.missiles.model.system.SystemNotice; @@ -56,7 +57,7 @@ public ReturnDTO addNotice(NoticeAddRequest noticeAddRequest) { //生成编号 Long maxNo = noticeMapper.selectMaxNoticeNo(); - String noticeNo = NumberGeneratorUtil.getContactNo("tzgg", maxNo); + String noticeNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.NOTICE_PREFIX, maxNo); noticeAddRequest.setNoticeNo(noticeNo); SystemNotice systemNotice = ConvertUtils.sourceToTarget(noticeAddRequest, SystemNotice.class); int insertFlag = noticeMapper.insert(systemNotice); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java new file mode 100644 index 0000000..e196dda --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Builder; +import lombok.Data; + +/** + * @author cz + */ +@Data +@Builder +public class NotifyEventStatusDTO { + + /** + * 业务表主键 + */ + private String id; + /** + * 业务表状态 + */ + private String status; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java index 65c19e3..0f3e84f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java @@ -74,7 +74,7 @@ /** * 部门/科室/工程组名称 */ - @ExcelProperty("组织编号") + @ExcelProperty("组织名称") @ApiModelProperty(value = "计量组织名称", dataType = "String", required = true) @NotBlank(message = "计量组织名称不能为空") @TableField("organize_name") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java index 54dc5cd..244e431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java @@ -84,7 +84,7 @@ * 签名用户id(一个用户一个签名,签名不使用关联表,签章暂时使用和使用人的关联表) */ @TableField("sign_user_id") - private String signUserId; + private Long signUserId; /** * 签章或签名-字典code diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java index ca20ca4..0e94b9e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 2f97cb3..fdc4bf0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -3,7 +3,6 @@ import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -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; @@ -17,9 +16,10 @@ import com.casic.missiles.dto.flowable.ApprovalAgreeRequest; import com.casic.missiles.dto.flowable.ApprovalRefuseRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -42,10 +42,9 @@ */ @Service @AllArgsConstructor -public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { +public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService, CertificatePrintStatusEnum { private final IBaseApprovalService baseApprovalService; - private final AbstractDictService dictService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; @@ -86,7 +85,7 @@ } /** - * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 * * @return */ @@ -103,7 +102,7 @@ BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); //设置为不能打印 - certificateReport.setPrintStatus("2"); + certificateReport.setPrintStatus(NON_PRINTABLE); certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { @@ -113,7 +112,7 @@ } /** - * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 */ @Transactional @Override @@ -128,7 +127,7 @@ //审批状态为审批中 certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //打印状态审批中 - certificateReport.setPrintStatus("3"); + certificateReport.setPrintStatus(IN_APPROVAL); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -142,7 +141,7 @@ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)&&CollectionUtils.isEmpty(request.getIds())) { - handlerBeApproved(approvalList, page, request); + approvalList=handlerBeApproved(approvalList, page, request); }else { approvalList=this.baseMapper.selectBatchForApprovalList(page, request, null); } 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 d03ab22..164c53a 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,17 +7,22 @@ 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.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; -import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +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.MonitorCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -26,9 +31,9 @@ import com.casic.missiles.service.business.IBusinessCertificateReportService; import com.casic.missiles.service.business.IBusinessOriginalRecordService; import com.casic.missiles.service.flowable.ApprovalOperateService; -import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; +import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.runtime.ProcessInstance; @@ -68,8 +73,10 @@ private RuntimeService runtimeService; @Resource private IBaseExportService iBaseExportService; + /** * 保存证书报告信息 + * * @param certificateReport * @return */ @@ -77,7 +84,7 @@ public ReturnDTO saveCertificateReport(BusinessCertificateReport certificateReport) { initCertificateReport(certificateReport); - if(this.baseMapper.insert(certificateReport)>0) + if (this.baseMapper.insert(certificateReport) > 0) return ReturnUtil.success(); throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -90,9 +97,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //删除数据库记录 - if(this.baseMapper.deleteById(request.getId()) > 0){ + if (this.baseMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -101,7 +108,7 @@ @Override public ReturnDTO draftUpdate(BusinessCertificateReport certificateReport) { - if(this.baseMapper.updateById(certificateReport)>0){ + if (this.baseMapper.updateById(certificateReport) > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -109,25 +116,27 @@ /** * 批量删除 + * * @param ids * @return */ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - return baseMapper.deleteBatchIds(ids) > 0?ReturnUtil.success(): + return baseMapper.deleteBatchIds(ids) > 0 ? ReturnUtil.success() : ReturnUtil.failed("删除失败"); } /** * 证书报告详情 + * * @param id * @return */ @Override public BusinessCertificateReport certificateReportDetail(Long id) { BusinessCertificateReport certificateReport = this.baseMapper.selectById(id); - if(certificateReport.getOriginalRecordId()!=null){ + if (certificateReport.getOriginalRecordId() != null) { try { certificateReport.setBusinessOriginalRecord(originalRecordService.originalDetail(certificateReport.getOriginalRecordId())); } catch (Exception e) { @@ -139,6 +148,7 @@ /** * 提交证书报告 + * * @param request * @return */ @@ -148,10 +158,10 @@ String formId = request.getFormId(); //2.根据流程定义id启动流程实例 ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); certificateReport.setApprovalStatus(ApprovalStatusEnum.UN_DRAFT); //非草稿状态 @@ -165,6 +175,7 @@ /** * 审批状态列表查询 + * * @param page * @param request * @return @@ -182,6 +193,7 @@ /** * 驳回后更新 + * * @param certificateReport * @return */ @@ -208,13 +220,14 @@ @Override public void originExport(CertificateReportApprovalRequest request, HttpServletResponse response) { try { - //toDo: -// List certificateReportResponses = this.certificateReport(request); -// for (OriginRecordResponse originRecordResponse : originExportList) { -// //字典值转换 -// DictCodeUtils.convertDictCodeToName(originRecordResponse); -// } -// iBaseExportService.exportExcel(response, CertificateReportResponse.class, originExportList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); + //登录用户 + AuthUser user = ShiroKit.getUser(); + Assert.isFalse(Objects.isNull(user), () -> { + throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); + }); + request.setCreateUserId(user.getId()); + List reportResponseList = handleApprovalStatus(null, request); + iBaseExportService.exportExcel(response, CertificateReportResponse.class, reportResponseList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); } catch (Exception e) { log.error("证书报告导出出现异常,异常信息为{}", e); } @@ -231,15 +244,15 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -251,27 +264,27 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ - approvalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); + if (!CollectionUtils.isEmpty(businessKeys)) { + approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ - rejectApprovalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { + rejectApprovalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -279,7 +292,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.CANCELED); } break; @@ -288,10 +301,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleAllApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), AllApproveList); } break; @@ -299,9 +312,26 @@ return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List allApproveList) { - Map taskMap = new HashMap<>(); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + /** + * 客户、样品详情列表 + */ + @Override + public Page certificateRecordsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception { + Page page = PageFactory.defaultPage(); + Page certificateResponsePage = this.baseMapper.certificateRecordsById(page, customerSampleIdRequest); + for (CertificationResponse customerSampleListResponse : certificateResponsePage.getRecords()) { + if (!StringUtils.isEmpty(customerSampleListResponse.getCertificationClass())) { + DictCodeUtils.convertDictMultiCodeToName(customerSampleListResponse); + } + } + return certificateResponsePage; + } + + private List handleAllApprovalListResponse(List approvalList, List allApproveList) { + Map taskMap = new HashMap<>(); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -313,7 +343,7 @@ return approvalList.stream().sorted(Comparator.comparing(CertificateReportResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, String status){ + private List handleApprovalListResponse(List approvalList, String status) { approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); @@ -324,14 +354,14 @@ private void initCertificateReport(BusinessCertificateReport certificateReport) { String prefix = MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue() - +DateUtil.format(new Date(),"YYYYMM"); + + DateUtil.format(new Date(), "YYYYMM"); Long maxNo = this.baseMapper.selectMaxCode(prefix); //生成证书编号 - String certificateReportNo =NumberGeneratorUtil.getCode( - MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(),maxNo); + String certificateReportNo = NumberGeneratorUtil.getCode( + MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(), maxNo); AuthUser authUser = ShiroKit.getUser(); certificateReport.setCreateUser(authUser.getId()); - certificateReport.setMeasurePersonId(authUser.getId()+""); + certificateReport.setMeasurePersonId(authUser.getId() + ""); certificateReport.setMeasureDeptId(authUser.getDeptId()); certificateReport.setCertificateReportCode(certificateReportNo); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index c4ed5f6..5456773 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -12,13 +12,12 @@ import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; import com.casic.missiles.mapper.business.EnvironmentListResponseMapper; import com.casic.missiles.model.business.BusinessEnvironmentRecord; -import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 859010b..0d847a0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessInterchangeMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; @@ -35,7 +36,7 @@ * 业务管理-设备交接单 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @@ -83,7 +84,7 @@ } /** - * 更新不对样品有任何操作 + * 更新只是交接单的变更,没有任何其他单位的变化 */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { @@ -94,6 +95,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 交接单新增,同时在样品委托书管理表中新增交接单记录id + */ @Override @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { @@ -111,6 +115,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 选中判断ids存在,进行其他条件的清空 + */ @Override public void exportExchange(InterchangeListRequest request, HttpServletResponse response) { try { @@ -153,7 +160,7 @@ private void populationExchange(BusinessInterchange businessInterchange) { Long maxNo = this.baseMapper.selectMaxExchangeNo(); - String orderNo = NumberGeneratorUtil.getContactNo("jjdh", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.INTER_CHANGE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessInterchange.setCreateUser(authUser.getId()); businessInterchange.setInterchangeCode(orderNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java index 585a207..955cc7a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java @@ -13,19 +13,18 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.*; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.HandOutPropertyEnum; -import com.casic.missiles.enums.MeasureStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.HandOutPropertyEnum; +import com.casic.missiles.enums.business.MeasureStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.*; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; -import com.casic.missiles.model.business.BusinessLabExecutiveInfo; -import com.casic.missiles.model.business.BusinessLabExecutiveOperateLog; -import com.casic.missiles.model.business.BusinessLabExecutiveTemplateInfo; +import com.casic.missiles.model.business.*; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; import com.casic.missiles.service.business.IBusinessLabExecutiveTemplateInfoService; @@ -71,6 +70,8 @@ private AbstractDictService dictService; @Autowired private MeterStaffMapper staffMapper; + @Autowired + private BusinessOrderMapper orderMapper; @Override public Page handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) throws Exception{ @@ -377,7 +378,9 @@ if(CollectionUtils.isEmpty(unExecutiveInfos)){ //更新样品状态为检测完 orderSampleRelationMapper.updateByOrderIdAndSampleId(pre.getOrderId(), pre.getSampleId(), SampleStatusEnum.MEASURE_COMPLETE); - // TODO: 2023/2/17 委托书中所有样品检测完更新委托书接收状态为检测完成,需求待定 + + //委托书中所有样品检测完更新委托书接收状态为检测完成,未检测完的数量为0则表示全部检完 + updateOrderStatusComplete(pre); //将检测记录加入到实验室检测模板(仅全部为检测完成的才加入到模板,包含终止的不会加入) List labList = new ArrayList<>(); @@ -407,9 +410,27 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + @Transactional + public void updateOrderStatusComplete(SampleOperateRequest pre) { + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("order_id", pre.getOrderId()); + List statusList = new ArrayList<>(); + statusList.add(SampleStatusEnum.TO_RECEIVE); + statusList.add(SampleStatusEnum.TO_HANDOUT); + statusList.add(SampleStatusEnum.IN_MEASURE); + wrapper1.in("sample_status", statusList); + //同一事务中可查到更新后的数量 + if(orderSampleRelationMapper.selectCount(wrapper1) == 0){ + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(pre.getOrderId()); + businessOrder.setStatus(OrderStatusEnum.COMPLETE); + orderMapper.updateById(businessOrder); + } + } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + String templateCode = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.LAB_EXECUTIVE_TEMPLATE_PREFIX, maxNo + i); templateInfo.setTemplateCode(templateCode); // templateInfo.setSampleTypeId(); templateInfo.setSampleId(lab.getSampleId()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index f5c6f61..1d63554 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -14,6 +14,10 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; +import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; @@ -35,7 +39,6 @@ import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -45,12 +48,12 @@ * 业务管理-委托书 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @AllArgsConstructor -public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { +public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService,PrefixCodeEnum, OrderStatusEnum,SampleStatusEnum, MeasureTypeEnum { private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; @@ -90,8 +93,10 @@ List customerSampleList = new ArrayList<>(); for (BusinessOrderSampleRelation orderSample : orderSampleList) { CustomerSampleInfo customerSampleInfo = customerSampleService.sampleDetail(orderSample.getSampleId()); - customerSampleInfo.setIsExistSample("1"); - customerSampleList.add(customerSampleInfo); + if (null != customerSampleInfo) { + customerSampleInfo.setIsExistSample("1"); + customerSampleList.add(customerSampleInfo); + } } businessOrder.setCustomerSampleInfoList(customerSampleList); return businessOrder; @@ -202,7 +207,13 @@ @Override public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); - String dealType = "委托书" + ((status.equals("2")) ? "接收" : "退回"); + String dealType = ""; + if (status.equals(ALREADY_RECEIVED)) { + dealType = "委托书接收" ; + doUpdateSampleStatus(orderCancelRequest.getId(),TO_RECEIVE); + } else { + dealType = "委托书退回"; + } int addDealRecordFlag = addDealRecord(orderCancelRequest, dealType); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -216,7 +227,7 @@ @Override @Transactional public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { - int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), ALREADY_CANCEL); int addDealRecordFlag = addDealRecord(orderCancelRequest, "委托书取消"); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -250,6 +261,7 @@ return dealRecordMapper.insert(businessDealRecord); } + /** * 强调正在做状态更新 */ @@ -280,12 +292,12 @@ private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); - String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(ORDER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); - businessOrder.setStatus("1"); + businessOrder.setStatus(NOT_RECEIVED); } /** @@ -320,10 +332,23 @@ sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); - sampleStatusPopulation.setMeasureType("1"); + sampleStatusPopulation.setMeasureType(INSIDE_MEASURE); return this.sampleRelationMapper.insert(sampleStatusPopulation); } + /** + * 强调正在做状态更新 + */ + private int doUpdateSampleStatus(Long orderId, String sampleStatus) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", orderId); + BusinessOrderSampleRelation orderSample = new BusinessOrderSampleRelation(); + orderSample.setId(orderId); + orderSample.setSampleStatus(sampleStatus); + return this.sampleRelationMapper.update(orderSample, queryWrapper); + } + + private void doSampleListPopulation(BusinessOrder businessOrder) { businessOrder.getCustomerSampleInfoList().forEach( customerSampleInfo -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java index 1e35b7a..1c602b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java @@ -131,7 +131,7 @@ @Override public ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord) { - if (this.baseMapper.insert(businessOriginalRecord) > 0) { + if (this.baseMapper.updateById(businessOriginalRecord) > 0) { //加入技术文件绑定 if (ObjectUtil.isNotEmpty(businessOriginalRecord.getFileList()) && businessOriginalRecord.getFileList().size() > 0) { originalRecordFileRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getFileList()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java index 07c88e9..c9c1902 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.date.DateUtil; import com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -14,6 +15,7 @@ import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; @@ -29,6 +31,7 @@ import org.springframework.util.ObjectUtils; import javax.servlet.http.HttpServletResponse; +import java.util.Date; import java.util.List; import java.util.Objects; import java.util.Optional; @@ -39,7 +42,7 @@ @Service @Slf4j @AllArgsConstructor -public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService { +public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService, SampleStatusEnum, CurrentSegmentEnum, MeasureTypeEnum { private final BusinessOrderSampleRelationMapper orderSampleRelationMapper; private final BusinessCertificateReportMapper certificateReportMapper; @@ -73,20 +76,20 @@ Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.TO_HANDOUT: + case TO_HANDOUT: //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 - case SampleStatusEnum.IN_MEASURE: + case IN_MEASURE: //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.MEASURE_COMPLETE: + case MEASURE_COMPLETE: doDispatchVoPopulation(dispatchVO, sampleId, orderId); return; //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 - case SampleStatusEnum.BE_OVERDUE: + case BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); @@ -126,12 +129,14 @@ /** - * 状态更新 + * 根据sampleId,orderId,进行状态更新 */ @Override + @Transactional public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { + boolean beforeEventFlag = beforeStatusChange(deviceStatusChangeDTO); Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFlag > 0) { + if (updateFlag > 0 && beforeEventFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -181,8 +186,9 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); +// queryWrapper.ne("order_id", deviceStatusChangeDTO.getOrderId()); BusinessLabExecutiveInfo businessLabExecutiveInfo = new BusinessLabExecutiveInfo(); - businessLabExecutiveInfo.setMeasureStatus(deviceStatusChangeDTO.getStatus()); +// businessLabExecutiveInfo.setMeasureStatus(); businessLabExecutiveInfo.setRemark(deviceStatusChangeDTO.getReason()); labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } @@ -214,6 +220,9 @@ return handOutLabExecutiveDTOOptional.orElse(null); } + /** + * 构建证书的查询条件 + */ private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("order_id", dispatchVO.getOrderId()); @@ -230,7 +239,8 @@ queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); if (terminateFlag) { - queryWrapper.eq("sample_status", "2").or().eq("sample_status", "3").or().eq("sample_status", "4"); + //若是终止,需要对应待分发、检测中、检测完三个状态的变更 + queryWrapper.eq("sample_status", TO_HANDOUT).or().eq("sample_status", IN_MEASURE).or().eq("sample_status", MEASURE_COMPLETE); } BusinessOrderSampleRelation businessOrderSampleRelation = new BusinessOrderSampleRelation(); businessOrderSampleRelation.setSampleStatus(statusChangeDTO.getStatus()); @@ -238,12 +248,12 @@ } /** - * 判断不是自检 + * 判断不是自检,即外包和外检,进行环节设定 */ private boolean notSelfMeasure(DeviceDispatchVO dispatchVO) { if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType())) { - if (MeasureStatusEnum.TO_ALLOCATE.equals(String.valueOf(dispatchVO.getMeasureType())) || MeasureStatusEnum.TO_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { - String currentSegment = MeasureStatusEnum.TO_ALLOCATE.equals(dispatchVO.getMeasureType()) ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; + if (OTHERS_UNDERTAKE.equals(String.valueOf(dispatchVO.getMeasureType())) || OUTSIDE_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { + String currentSegment = OTHERS_UNDERTAKE.equals(dispatchVO.getMeasureType()) ? OUT_UNDERTAKE : OUT_MESASUR; dispatchVO.setCurrentSegment(currentSegment); return true; } @@ -251,6 +261,9 @@ return false; } + /** + * 其他条件的置为空 + */ private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { request.setSampleName(null); request.setSampleNo(null); @@ -264,18 +277,38 @@ } /** - * 判断样品是完成或接收状态,直接显示即可 + * 判断样品是完成或接收状态,进行当前阶段环节的设置 */ private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { - if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + if (TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_INCOME); return true; } - if (SampleStatusEnum.TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); + if (TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_ALLOCATE); return true; } return false; } + private boolean beforeStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(TO_INCOME)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + List orderSampleRelationList = this.orderSampleRelationMapper.selectList(queryWrapper); + Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); + if (orderSampleRelationOptional.isPresent()) { + BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); + if (businessOrderSampleRelation.getSampleStatus().equals(TO_ALLOCATE)) { + BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); + businessOrderSample.setRealDeliverTime(DateUtil.format(new Date(), "yyyy-MM-dd")); + int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); + return updateFlag > 0 ? true : false; + } + } + } + return true; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java index 4f06678..e2fea21 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerAdviceMapper; import com.casic.missiles.mapper.customer.CustomerMapper; @@ -34,7 +35,7 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerAdviceServiceImpl implements CustomerAdviceService { +public class CustomerAdviceServiceImpl implements CustomerAdviceService,PrefixCodeEnum { private final CustomerAdviceMapper customerAdviceMapper; private final IBaseExportService iBaseExportService; @@ -122,7 +123,7 @@ private void initCustomerAdviceInfo(CustomerAdviceInfo customerAdviceInfo) { Long maxNo = customerAdviceMapper.selectMaxAdviceNo(); - String adviceNo = NumberGeneratorUtil.getContactNo("khjy", maxNo); + String adviceNo = NumberGeneratorUtil.getContactNo(CUSTOMER_ADVICE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerAdviceInfo.setCreateUser(authUser.getId()); customerAdviceInfo.setUpdateUser(authUser.getId()); 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 4889e55..f9747dd 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 @@ -10,18 +10,19 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.sample.CertificationExpireStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; import com.casic.missiles.mapper.customer.CustomerMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerSampleListResponseMapper; import com.casic.missiles.mapper.customer.CustomerSampleMapper; -import com.casic.missiles.mapper.customer.customize.MesureRecordsResponseMapper; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -42,13 +43,11 @@ @Service @AllArgsConstructor -public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService { +public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService, CertificationExpireStatusEnum,PrefixCodeEnum{ private final CustomerSampleListResponseMapper customerSampleListResponseMapper; private final CustomerMapper customerMapper; private final IBaseExportService iBaseExportService; - private final CertificationResponseMapper certificationResponseMapper; - private final MesureRecordsResponseMapper mesureResponseMapper; private final BusinessOrderSampleRelationMapper sampleRelationMapper; @Override @@ -58,14 +57,14 @@ customerSamplePage.getRecords() .forEach(customerSample -> { BusinessOrderSampleRelation businessOrderSampleRelation = this.getSampleStatusById(customerSample.getId()); + customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); - customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); } }); for (CustomerSampleListResponse customerSampleListResponse : customerSamplePage.getRecords()) { - if (!StringUtils.isEmpty(customerSampleListResponse.getSampleSatus())) { + if (!StringUtils.isEmpty(customerSampleListResponse.getSampleStatus())) { DictCodeUtils.convertDictCodeToName(customerSampleListResponse); } } @@ -106,14 +105,13 @@ public CustomerSampleInfo sampleDetail(Long id) { CustomerSampleInfo customerSampleInfo = this.baseMapper.selectById(id); if (!ObjectUtils.isEmpty(customerSampleInfo)) { - doCustomerSampleInfoPopulation(customerSampleInfo); + doPopulateCustomerSampleInfo(customerSampleInfo); } return customerSampleInfo; } /** * 只导出样品列表信息 - * */ @Override public void sampleExport(CustomerSampleListRequest request, HttpServletResponse response) { @@ -135,7 +133,7 @@ BusinessOrderSampleRelation businessOrderSampleRelation = businessOrderMap.get(customerSample.getId()); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); } } @@ -159,26 +157,16 @@ } @Override - public Page measureRecordsBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page measureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); + public Page measureRecordsById(CustomerSampleIdRequest customerSampleIdRequest) { + Page page = PageFactory.defaultPage(); + Page measureRecordsResponsePage = this.baseMapper.measureRecordsById(page, customerSampleIdRequest); return measureRecordsResponsePage; } - @Override - public Page certificationBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page certificateResponsePage = certificationResponseMapper.selectPage(page, wrapper); - return certificateResponsePage; - } @Override - public Page samplesByOderId(Page page,Long orderId, String sampleNo, String sampleName) { - return this.baseMapper.samplesByOderId(page,orderId,sampleNo,sampleName); + public Page samplesByOderId(Page page, Long orderId, String sampleNo, String sampleName) { + return this.baseMapper.samplesByOderId(page, orderId, sampleNo, sampleName); } private BusinessOrderSampleRelation getSampleStatusById(Long sampleId) { @@ -190,9 +178,12 @@ return orderSampleOptional.isPresent() ? orderSampleOptional.get() : null; } + /** + * 初始化样品状态 + */ private void initSample(CustomerSampleInfo customerSampleInfo) { Long maxNo = this.baseMapper.selectMaxSampleNo(); - String sampleNo = NumberGeneratorUtil.getContactNo("khyp", maxNo); + String sampleNo = NumberGeneratorUtil.getContactNo(SAMPLE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setSampleNo(sampleNo); customerSampleInfo.setCreateUser(authUser.getId()); @@ -202,7 +193,6 @@ private QueryWrapper listParamWrapper(CustomerSampleListRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.select("id,sample_no,sample_name,sample_model,manufacturing_no,customer_id,measure_period,measure_last_time,remark,valid_deadline"); queryWrapper.like(StringUtils.isNotBlank(request.getSampleNo()), "sample_no", request.getSampleNo()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleName()), "sample_name", request.getSampleName()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleBelong()), "sample_belong", request.getSampleBelong()); @@ -210,9 +200,10 @@ queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); if (!StringUtils.isEmpty(request.getOvertimeStatus())) { - queryWrapper.apply(request.getOvertimeStatus().equals("1"), + queryWrapper.apply("1".equals(request.getOvertimeStatus()), + "sysdate() > DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); - queryWrapper.apply(request.getOvertimeStatus().equals("0"), + queryWrapper.apply("0".equals(request.getOvertimeStatus()), "sysdate() <= DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); } queryWrapper.apply(StringUtils.isNotBlank(request.getStartTime()), @@ -224,24 +215,30 @@ return queryWrapper; } + /** + * 通过证书到期时间进行到期状态的计算 + */ private String calculateCertificationStatus(String validDeadline) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if (StringUtils.isEmpty(validDeadline)) { - return "0"; + return NORMAL; } - if (validDeadline.compareTo(sdf.format(new Date())) > 0) { - return "2"; + if (validDeadline.compareTo(sdf.format(new Date())) < 0) { + return ALREADY_EXPIRE; } Calendar date = Calendar.getInstance(); date.setTime(new Date()); date.add(Calendar.DAY_OF_MONTH, -30); - if (validDeadline.compareTo(sdf.format(date.getTime())) > 0) { - return "1"; + if (validDeadline.compareTo(sdf.format(date.getTime())) < 0) { + return ALMOST_EXPIRE; } - return "0"; + return NORMAL; } - private void doCustomerSampleInfoPopulation(CustomerSampleInfo customerSampleInfo) { + /** + * 对样品列表的进行供应商联系方式的填充 + */ + private void doPopulateCustomerSampleInfo(CustomerSampleInfo customerSampleInfo) { CustomerInfo customerInfo = customerMapper.selectById(customerSampleInfo.getCustomerId()); if (!ObjectUtils.isEmpty(customerInfo)) { customerSampleInfo.setPhone(customerInfo.getPhone()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java index 32d4dee..f6e1f8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java @@ -11,13 +11,12 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerMapper; import com.casic.missiles.mapper.customer.CustomerUserMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerInfoResponseMapper; import com.casic.missiles.mapper.customer.customize.SampleRecordsResponseMapper; import com.casic.missiles.model.customer.CustomerInfo; @@ -38,11 +37,10 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerServiceImpl extends ServiceImpl implements CustomerService { +public class CustomerServiceImpl extends ServiceImpl implements CustomerService,PrefixCodeEnum { private final SampleRecordsResponseMapper sampleRecordsResponseMapper; private final CustomerUserMapper customerUserMapper; - private final CertificationResponseMapper certificationMapper; private final IBaseExportService iBaseExportService; private final CustomerInfoResponseMapper customerInfoResponseMapper; @@ -126,18 +124,9 @@ return contractRecordsResponsePage; } - @Override//暂定不做 - public Page mesureRecordsByCustomerId(Long customerId) { - Page measureRecordsResponsePage = PageFactory.defaultPage(); - return measureRecordsResponsePage; - } - @Override public Page certificationByCustomerId(Long customerId) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("customer_id", customerId); - return certificationMapper.selectPage(page, wrapper); + return null; } @Override @@ -163,8 +152,7 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); - queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "bussiness_size", request.getBusinessSize()); - queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); + queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "business_size", request.getBusinessSize()); queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); queryWrapper.eq("is_del", 0); return queryWrapper; @@ -172,7 +160,7 @@ private void initCustomerInfo(CustomerInfo customerInfo) { Long maxNo = this.baseMapper.selectMaxCustomerNo(); - String customerNo = NumberGeneratorUtil.getContactNo("khxx", maxNo); + String customerNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CUSTOMER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerInfo.setCreateUser(authUser.getId()); customerInfo.setUpdateUser(authUser.getId()); @@ -196,7 +184,7 @@ boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { customerUserInfo.setCustomerId(id); - String customerNo = NumberGeneratorUtil.getContactNo("khyh", maxUserNo++); + String customerNo = NumberGeneratorUtil.getContactNo(CUSTOMER_USER_PREFIX, maxUserNo++); customerUserInfo.setUserNo(customerNo); int userAddNum = customerUserMapper.insert(customerUserInfo); if (userAddNum <= 0) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java index d81a488..77e4caf 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java @@ -13,9 +13,10 @@ import com.casic.missiles.dto.equipment.AcceptanceCheckRequest; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentAcceptanceCheckMapper; @@ -183,7 +184,7 @@ public ReturnDTO addAcceptanceCheck(EquipmentApply equipmentApply) { Long maxNo = equipmentApplyMapper.selectMaxNo(); // 生成编号 - String applyNo = NumberGeneratorUtil.getContactNo("sbjxbyysd", maxNo); + String applyNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.REPAIR_MAINTAIN_PREFIX, maxNo); equipmentApply.setApplyNo(applyNo); // 草稿箱状态 equipmentApply.setApprovalStatus(ApprovalStatusEnum.DRAFT); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java index 38ad4e9..d468012 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java @@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.base.service.IBaseExportService; -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.IdDTO; @@ -20,6 +19,9 @@ import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java index 7c4fdbc..e6a1ff8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.equipment.CheckInfoRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoFileMapper; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoMapper; @@ -79,7 +80,7 @@ @Transactional public ReturnDTO addCheckInfo(EquipmentCheckInfo equipmentCheckInfo) { long maxNo = equipmentCheckInfoMapper.selectMaxNo(); - String checkNo = NumberGeneratorUtil.getContactNo("jc", maxNo); + String checkNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CHECK_PREFIX, maxNo); equipmentCheckInfo.setCheckNo(checkNo); if(equipmentCheckInfoMapper.insert(equipmentCheckInfo) > 0){ Long id = equipmentCheckInfo.getId(); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java index ba6a600..7ff9c16 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.equipment; -import cn.hutool.core.io.unit.DataUnit; import com.alibaba.excel.util.DateUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -13,7 +12,8 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.FixedAssetRequest; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentFixedAssetFileMapper; @@ -131,7 +131,7 @@ validManufacturingNo(meterFixedAssets); //生成资产编号 Long maxNo = meterFixedAssetsMapper.selectMaxNo(); - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); meterFixedAssets.setAssetNo(asset_no); meterFixedAssets.setEquipmentNo(asset_no); meterFixedAssetsMapper.insert(meterFixedAssets); @@ -164,7 +164,7 @@ //需要根据出厂编号判重 validManufacturingNo(item); //生成资产编号 - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); item.setAssetNo(asset_no); item.setEquipmentNo(asset_no); maxNo++; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java index 3e63a5a..2b29aa7 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java @@ -18,6 +18,8 @@ import com.casic.missiles.dto.equipment.StandardEquipmentApplyRequest; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.StandardApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java index caa63a7..afa6905 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java @@ -10,9 +10,9 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.StandardEquipmentRequest; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentFileMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentMapper; -import com.casic.missiles.model.equipment.EquipmentApply; import com.casic.missiles.model.equipment.EquipmentStandardEquipment; import com.casic.missiles.model.equipment.EquipmentStandardEquipmentFile; import com.casic.missiles.model.page.PageQuery; @@ -74,7 +74,7 @@ public ReturnDTO add(EquipmentStandardEquipment meterStandardEquipment) { //生成资产编号 Long maxNo = meterStandardEquipmentMapper.selectMaxNo(); - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); meterStandardEquipment.setStandardNo(standard_no); meterStandardEquipmentMapper.insert(meterStandardEquipment); // 插入文件列表 @@ -129,7 +129,7 @@ } DictCodeUtils.validDictCode(item); //生成资产编号 - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); item.setStandardNo(standard_no); maxNo++; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java index 481cf64..b749b2e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java @@ -2,7 +2,6 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.dto.IdDTO; @@ -12,7 +11,7 @@ import com.casic.missiles.dto.equipment.StateManageResponse; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java index 5dd6f8e..e566e01 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.EquipmentWorkbenchResponse; -import com.casic.missiles.enums.ApplyFromIdEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java index f3b9c4f..485287a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java @@ -6,7 +6,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.system.dao.DeptMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java index ce076b0..c20feb0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java @@ -4,7 +4,6 @@ import cn.hutool.core.lang.Assert; import cn.hutool.core.util.ObjectUtil; import com.alibaba.excel.util.DateUtils; -import com.alibaba.excel.util.StringUtils; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -22,18 +21,18 @@ import com.casic.missiles.dto.meter.MeterCertificateImport; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.enums.*; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterRoleTypeEnum; +import com.casic.missiles.enums.workbench.MessageTypeEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.meter.MeterCertificateExpireMessageMapper; import com.casic.missiles.mapper.meter.MeterCertificateMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.sys.UserInfoMapper; import com.casic.missiles.mapper.workbench.WorkbenchRemindMessageMapper; import com.casic.missiles.model.meter.MeterCertificate; -import com.casic.missiles.model.meter.MeterCertificateExpireMessage; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.model.system.UserInfo; import com.casic.missiles.model.workbench.WorkbenchRemindMessage; -import com.casic.missiles.service.meter.MeterCertificateExpireMessageService; import com.casic.missiles.service.meter.MeterCertificateService; import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; import com.casic.missiles.utils.ExportUtils; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java index ecf1fc3..e84f4d6 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java @@ -17,10 +17,11 @@ import com.casic.missiles.dto.meter.FileApprovalListResponse; import com.casic.missiles.dto.meter.FileListRequest; import com.casic.missiles.dto.meter.FileSaveResponse; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EffectiveStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.EffectiveStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterFileMapper; import com.casic.missiles.model.meter.MeterFile; @@ -92,7 +93,7 @@ public ReturnDTO saveFile(MeterFile file) { //生成文件编号 Long maxNo = meterFileMapper.selectMaxFileNo(); - String fileNo = NumberGeneratorUtil.getContactNo("jlwj", maxNo); + String fileNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FILE_PREFIX, maxNo); file.setFileNo(fileNo); file.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 Assert.isFalse(Objects.isNull(ShiroKit.getUser()), () -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java index 000e58a..467f03d 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java @@ -10,7 +10,8 @@ import com.casic.missiles.dto.meter.ParentDeptRequest; import com.casic.missiles.dto.meter.ParentDeptResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.model.meter.MeterOrganize; @@ -101,7 +102,7 @@ public int addOrganize(Dept dept) { //生成组织编号 Long maxNo = organizeMapper.selectMaxOrganizeNo(); - String organizeNo = NumberGeneratorUtil.getContactNo("jlzz", maxNo); + String organizeNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.ORGANIZE_PREFIX, maxNo); MeterOrganize meterOrganize = new MeterOrganize(); meterOrganize.setDeptId(dept.getId()); meterOrganize.setPDeptId(dept.getPid()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java index 7c3f9cf..643ba4c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java @@ -13,7 +13,8 @@ import com.casic.missiles.dto.meter.MeterPriceRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterPriceCategoryMapper; import com.casic.missiles.mapper.meter.MeterPriceItemMapper; @@ -83,7 +84,7 @@ MeterPriceItem item = new MeterPriceItem(null,priceCategory.getId(),meterPrice.getItemName()); if(categoryFlag>0 && meterPriceItemMapper.insert(item)>0){ Long maxNo = meterPriceMapper.getMaxNo(); - String priceNo = NumberGeneratorUtil.getContactNo("jg", maxNo); + String priceNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.PRICE_PREFIX, maxNo); meterPrice.setPriceNo(priceNo); meterPrice.setPriceType(priceCategory.getId().toString()); meterPrice.setPriceItem(item.getId().toString()); @@ -178,7 +179,7 @@ // 校验通过 AtomicLong maxNo = new AtomicLong(meterPriceMapper.getMaxNo()); list.forEach(bean->{ - String priceNo = NumberGeneratorUtil.getContactNo("jg", maxNo.get()); + String priceNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.PRICE_PREFIX, maxNo.get()); maxNo.set(Long.parseLong(priceNo.substring(2))); Long id= IdWorker.getId(); bean.setId(id); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java index 7c4a1a1..f79bb8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java @@ -15,7 +15,8 @@ import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterCertificateMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; @@ -42,7 +43,6 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; -import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.concurrent.atomic.AtomicBoolean; @@ -139,7 +139,7 @@ } long maxNo = meterStaffMapper.getMaxNo(); meterStaff.setIsDel(0); - String staffNo = NumberGeneratorUtil.getContactNo("jlry", maxNo); + String staffNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STAFF_PREFIX, maxNo); meterStaff.setStaffNo(staffNo); if(meterStaffMapper.insert(meterStaff)>0){ Long id = meterStaff.getId(); @@ -263,7 +263,7 @@ AtomicLong maxNo = new AtomicLong(meterStaffMapper.getMaxNo()); list.forEach(bean->{ // 生成编号 - String staffNo = NumberGeneratorUtil.getContactNo("jlry", maxNo.get()); + String staffNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STAFF_PREFIX, maxNo.get()); maxNo.set(Long.parseLong(staffNo.substring(4))); bean.setStaffNo(staffNo); // 获取id diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java index 535581f..0beebb1 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java @@ -14,9 +14,10 @@ import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.meter.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterTraceSupplierMapper; import com.casic.missiles.model.meter.MeterTraceSupplier; @@ -92,7 +93,7 @@ public ReturnDTO saveTraceSupplier(MeterTraceSupplier traceSupplier) { //生成编号 Long maxNo = traceSupplierMapper.selectMaxSupplierNo(); - String supplierNo = NumberGeneratorUtil.getContactNo("sygf", maxNo); + String supplierNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.TRACE_SUPPLIER_PREFIX, maxNo); traceSupplier.setSupplierNo(supplierNo); traceSupplier.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 Assert.isFalse(Objects.isNull(ShiroKit.getUser()), () -> { @@ -106,7 +107,7 @@ //存储溯源供方人员信息 boolean saveBatchFlag = true; List traceSupplierPersonList = traceSupplier.getTraceSupplierPersonList(); - if(!CollectionUtils.isEmpty(traceSupplierPersonList)){ + if (!CollectionUtils.isEmpty(traceSupplierPersonList)) { traceSupplierPersonList.forEach(person -> { person.setSupplierId(traceSupplier.getId()); }); @@ -119,7 +120,7 @@ //存储溯源供方标准装置信息 boolean saveBatchFlag2 = true; List standardEquipmentIds = traceSupplier.getStandardEquipmentIds(); - if(!CollectionUtils.isEmpty(standardEquipmentIds)){ + if (!CollectionUtils.isEmpty(standardEquipmentIds)) { List equipmentList = new ArrayList<>(); standardEquipmentIds.forEach(id -> { MeterTraceSupplierStandardEquipment equipment = new MeterTraceSupplierStandardEquipment(); @@ -154,7 +155,7 @@ traceSupplierPersonService.remove(wrapper); boolean saveFlag = true; //溯源供方人员可能为空 - if(!CollectionUtils.isEmpty(traceSupplierPersonList)){ + if (!CollectionUtils.isEmpty(traceSupplierPersonList)) { //再增加 traceSupplierPersonList.forEach(person -> { person.setSupplierId(traceSupplier.getId()); @@ -169,7 +170,7 @@ meterTraceSupplierStandardEquipmentService.remove(wrapper1); boolean saveBatchFlag2 = true; List standardEquipmentIds = traceSupplier.getStandardEquipmentIds(); - if(!CollectionUtils.isEmpty(standardEquipmentIds)){ + if (!CollectionUtils.isEmpty(standardEquipmentIds)) { List equipmentList = new ArrayList<>(); standardEquipmentIds.forEach(id -> { MeterTraceSupplierStandardEquipment equipment = new MeterTraceSupplierStandardEquipment(); @@ -195,10 +196,10 @@ String formId = request.getFormId(); ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); MeterTraceSupplier traceSupplier = new MeterTraceSupplier(); traceSupplier.setId(request.getId()); @@ -225,9 +226,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //本地删除 - if(traceSupplierMapper.deleteById(request.getId()) > 0){ + if (traceSupplierMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -267,16 +268,16 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -288,7 +289,7 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.IN_APPROVED); } @@ -296,7 +297,7 @@ //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.PASSED); } @@ -305,12 +306,12 @@ case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { List rejectList = traceSupplierMapper.selectBatchForApproval(page, request, rejectBusinessKey); rejectApprovalList = handleApprovalListResponse(approvalList, rejectList, ApprovalStatusEnum.FAILED_REJECT); } @@ -320,7 +321,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.CANCELED); } @@ -330,10 +331,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleAllApprovalListResponse(approvalList, list, AllApproveList); } @@ -343,9 +344,11 @@ } private List handleAllApprovalListResponse(List approvalList, List list, List allApproveList) { - Map taskMap = new HashMap<>(); + Map taskMap = new HashMap<>(); approvalList = ConvertUtils.sourceToTarget(list, TraceSupplierApprovalListResponse.class); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -369,7 +372,7 @@ @Override public ReturnDTO deleteTraceSupplier(Long id) { - if(traceSupplierMapper.deleteById(id) > 0){ + if (traceSupplierMapper.deleteById(id) > 0) { return ReturnUtil.success(); } return ReturnUtil.failed("刪除失败"); @@ -377,7 +380,7 @@ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - if(traceSupplierMapper.deleteBatchIds(ids) > 0){ + if (traceSupplierMapper.deleteBatchIds(ids) > 0) { return ReturnUtil.success(); } return ReturnUtil.failed("删除失败"); @@ -400,6 +403,7 @@ wrapper.eq("id", 12344321); return wrapper; } + wrapper.like(StringUtils.isNotBlank(request.getSupplierNo()), "supplier_no", request.getSupplierNo()); wrapper.like(StringUtils.isNotBlank(request.getSupplierName()), "supplier_name", request.getSupplierName()); wrapper.like(StringUtils.isNotBlank(request.getBusinessContent()), "business_content", request.getBusinessContent()); @@ -409,7 +413,7 @@ return wrapper; } - private List handleApprovalListResponse(List approvalList, List list, String status){ + private List handleApprovalListResponse(List approvalList, List list, String status) { approvalList = ConvertUtils.sourceToTarget(list, TraceSupplierApprovalListResponse.class); approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java index 0fd9403..bec30c8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.meter.TrainLogListRequest; import com.casic.missiles.dto.meter.TrainLogUpdateRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterTrainLogMapper; import com.casic.missiles.mapper.meter.MeterTrainStaffMapper; @@ -58,7 +59,7 @@ public ReturnDTO addTrainLog(TrainLogAddRequest request) { //生成编号 Long maxNo = trainLogMapper.selectMaxTrainLogNo(); - String logNo = NumberGeneratorUtil.getContactNo("pxjl", maxNo); + String logNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.TRAIN_LOG_PREFIX, maxNo); MeterTrainLog meterTrainLog = ConvertUtils.sourceToTarget(request, MeterTrainLog.class); meterTrainLog.setLogNo(logNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java index e4f4dcb..e3d0750 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java @@ -14,9 +14,10 @@ import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.meter.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.meter.MeterTrainPlanMapper; @@ -98,7 +99,7 @@ public ReturnDTO saveTrainPlan(MeterTrainPlan trainPlan) { //生成编号 Long maxNo = trainPlanMapper.selectMaxTrainPlanNo(); - String planNo = NumberGeneratorUtil.getContactNo("pxjh", maxNo); + String planNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.TRAIN_PLAN_PREFIX, maxNo); trainPlan.setPlanNo(planNo); trainPlan.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 Assert.isFalse(Objects.isNull(ShiroKit.getUser()), () -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterWorkbenchServiceImpl.java index 663d024..921ae71 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterWorkbenchServiceImpl.java @@ -10,8 +10,8 @@ import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.dto.meter.MeterWorkbenchRequest; import com.casic.missiles.dto.meter.MeterWorkbenchResponse; -import com.casic.missiles.enums.ExamResultEnum; -import com.casic.missiles.enums.MeterRoleTypeEnum; +import com.casic.missiles.enums.meter.ExamResultEnum; +import com.casic.missiles.enums.meter.MeterRoleTypeEnum; import com.casic.missiles.mapper.meter.MeterCertificateMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.meter.MeterTrainPlanMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java index 163c77f..5d76a52 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.system.FlowListRequest; import com.casic.missiles.dto.system.FlowProcDefDTO; import com.casic.missiles.dto.system.FlowUpdateStateRequest; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.FlowDefMapper; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java index dcebbbd..f59ae28 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.system.NoticeAddRequest; import com.casic.missiles.dto.system.NoticeListRequest; import com.casic.missiles.dto.system.NoticeReadRequest; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.system.SystemNoticeMapper; import com.casic.missiles.mapper.system.SystemNoticeUserRelationMapper; import com.casic.missiles.model.system.SystemNotice; @@ -56,7 +57,7 @@ public ReturnDTO addNotice(NoticeAddRequest noticeAddRequest) { //生成编号 Long maxNo = noticeMapper.selectMaxNoticeNo(); - String noticeNo = NumberGeneratorUtil.getContactNo("tzgg", maxNo); + String noticeNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.NOTICE_PREFIX, maxNo); noticeAddRequest.setNoticeNo(noticeNo); SystemNotice systemNotice = ConvertUtils.sourceToTarget(noticeAddRequest, SystemNotice.class); int insertFlag = noticeMapper.insert(systemNotice); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemSignServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemSignServiceImpl.java index dffd29b..3bc7d81 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemSignServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemSignServiceImpl.java @@ -8,6 +8,7 @@ import com.casic.missiles.dto.system.SignAddRequest; import com.casic.missiles.dto.system.SignDetailResponse; import com.casic.missiles.dto.system.SignListRequest; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.system.SystemSignMapper; import com.casic.missiles.mapper.system.SystemSignUserRelationMapper; import com.casic.missiles.model.system.SystemSign; @@ -72,17 +73,16 @@ public ReturnDTO addSign(SignAddRequest request) { //生成编号 Long maxNo = signMapper.selectMaxSignNo(); - String signNo = NumberGeneratorUtil.getContactNo("qmqz", maxNo); //签名签章编号一起 + String signNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.SIGN_PREFIX, maxNo); //签名签章编号一起 SystemSign systemSign = ConvertUtils.sourceToTarget(request, SystemSign.class); systemSign.setSignNo(signNo); int insertFlag = signMapper.insert(systemSign); //关联表 - //签名无可使用人,签章有可使用人 - boolean saveBatch = true; - if("2".equals(request.getSignType())){ - List userRelationList = getUserRelations(request.getUserIdList(), systemSign.getId()); - saveBatch = userRelationService.saveBatch(userRelationList); - } + //签名/签章可使用人 + List userIdList = request.getUserIdList(); + userIdList.add(request.getSignUserId()); //添加签名本人 + List userRelationList = getUserRelations(userIdList, systemSign.getId()); + boolean saveBatch = userRelationService.saveBatch(userRelationList); if(insertFlag > 0 && saveBatch){ return ReturnUtil.success(); } @@ -94,16 +94,15 @@ public ReturnDTO updateSign(SystemSign systemSign) { int updateFlag = signMapper.updateById(systemSign); //关联表 - //签章有可使用人 - int deleteFlag = 1; - boolean saveBatch = true; - if("2".equals(systemSign.getSignType())){ - Map columnMap = new HashMap<>(); - columnMap.put("sign_id", systemSign.getId()); - deleteFlag = userRelationMapper.deleteByMap(columnMap); - List userRelationList = getUserRelations(systemSign.getUserIdList(), systemSign.getId()); - saveBatch = userRelationService.saveBatch(userRelationList); - } + //签名/签章可使用人 + Map columnMap = new HashMap<>(); + columnMap.put("sign_id", systemSign.getId()); + int deleteFlag = userRelationMapper.deleteByMap(columnMap); + List userIdList = systemSign.getUserIdList(); + userIdList.add(systemSign.getSignUserId()); + List userRelationList = getUserRelations(systemSign.getUserIdList(), systemSign.getId()); + boolean saveBatch = userRelationService.saveBatch(userRelationList); + if(updateFlag > 0 && deleteFlag > 0 && saveBatch){ return ReturnUtil.success(); } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java new file mode 100644 index 0000000..e196dda --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Builder; +import lombok.Data; + +/** + * @author cz + */ +@Data +@Builder +public class NotifyEventStatusDTO { + + /** + * 业务表主键 + */ + private String id; + /** + * 业务表状态 + */ + private String status; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java index 65c19e3..0f3e84f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java @@ -74,7 +74,7 @@ /** * 部门/科室/工程组名称 */ - @ExcelProperty("组织编号") + @ExcelProperty("组织名称") @ApiModelProperty(value = "计量组织名称", dataType = "String", required = true) @NotBlank(message = "计量组织名称不能为空") @TableField("organize_name") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java index 54dc5cd..244e431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java @@ -84,7 +84,7 @@ * 签名用户id(一个用户一个签名,签名不使用关联表,签章暂时使用和使用人的关联表) */ @TableField("sign_user_id") - private String signUserId; + private Long signUserId; /** * 签章或签名-字典code diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java index ca20ca4..0e94b9e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 2f97cb3..fdc4bf0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -3,7 +3,6 @@ import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -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; @@ -17,9 +16,10 @@ import com.casic.missiles.dto.flowable.ApprovalAgreeRequest; import com.casic.missiles.dto.flowable.ApprovalRefuseRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -42,10 +42,9 @@ */ @Service @AllArgsConstructor -public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { +public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService, CertificatePrintStatusEnum { private final IBaseApprovalService baseApprovalService; - private final AbstractDictService dictService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; @@ -86,7 +85,7 @@ } /** - * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 * * @return */ @@ -103,7 +102,7 @@ BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); //设置为不能打印 - certificateReport.setPrintStatus("2"); + certificateReport.setPrintStatus(NON_PRINTABLE); certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { @@ -113,7 +112,7 @@ } /** - * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 */ @Transactional @Override @@ -128,7 +127,7 @@ //审批状态为审批中 certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //打印状态审批中 - certificateReport.setPrintStatus("3"); + certificateReport.setPrintStatus(IN_APPROVAL); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -142,7 +141,7 @@ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)&&CollectionUtils.isEmpty(request.getIds())) { - handlerBeApproved(approvalList, page, request); + approvalList=handlerBeApproved(approvalList, page, request); }else { approvalList=this.baseMapper.selectBatchForApprovalList(page, request, null); } 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 d03ab22..164c53a 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,17 +7,22 @@ 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.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; -import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +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.MonitorCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -26,9 +31,9 @@ import com.casic.missiles.service.business.IBusinessCertificateReportService; import com.casic.missiles.service.business.IBusinessOriginalRecordService; import com.casic.missiles.service.flowable.ApprovalOperateService; -import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; +import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.runtime.ProcessInstance; @@ -68,8 +73,10 @@ private RuntimeService runtimeService; @Resource private IBaseExportService iBaseExportService; + /** * 保存证书报告信息 + * * @param certificateReport * @return */ @@ -77,7 +84,7 @@ public ReturnDTO saveCertificateReport(BusinessCertificateReport certificateReport) { initCertificateReport(certificateReport); - if(this.baseMapper.insert(certificateReport)>0) + if (this.baseMapper.insert(certificateReport) > 0) return ReturnUtil.success(); throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -90,9 +97,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //删除数据库记录 - if(this.baseMapper.deleteById(request.getId()) > 0){ + if (this.baseMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -101,7 +108,7 @@ @Override public ReturnDTO draftUpdate(BusinessCertificateReport certificateReport) { - if(this.baseMapper.updateById(certificateReport)>0){ + if (this.baseMapper.updateById(certificateReport) > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -109,25 +116,27 @@ /** * 批量删除 + * * @param ids * @return */ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - return baseMapper.deleteBatchIds(ids) > 0?ReturnUtil.success(): + return baseMapper.deleteBatchIds(ids) > 0 ? ReturnUtil.success() : ReturnUtil.failed("删除失败"); } /** * 证书报告详情 + * * @param id * @return */ @Override public BusinessCertificateReport certificateReportDetail(Long id) { BusinessCertificateReport certificateReport = this.baseMapper.selectById(id); - if(certificateReport.getOriginalRecordId()!=null){ + if (certificateReport.getOriginalRecordId() != null) { try { certificateReport.setBusinessOriginalRecord(originalRecordService.originalDetail(certificateReport.getOriginalRecordId())); } catch (Exception e) { @@ -139,6 +148,7 @@ /** * 提交证书报告 + * * @param request * @return */ @@ -148,10 +158,10 @@ String formId = request.getFormId(); //2.根据流程定义id启动流程实例 ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); certificateReport.setApprovalStatus(ApprovalStatusEnum.UN_DRAFT); //非草稿状态 @@ -165,6 +175,7 @@ /** * 审批状态列表查询 + * * @param page * @param request * @return @@ -182,6 +193,7 @@ /** * 驳回后更新 + * * @param certificateReport * @return */ @@ -208,13 +220,14 @@ @Override public void originExport(CertificateReportApprovalRequest request, HttpServletResponse response) { try { - //toDo: -// List certificateReportResponses = this.certificateReport(request); -// for (OriginRecordResponse originRecordResponse : originExportList) { -// //字典值转换 -// DictCodeUtils.convertDictCodeToName(originRecordResponse); -// } -// iBaseExportService.exportExcel(response, CertificateReportResponse.class, originExportList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); + //登录用户 + AuthUser user = ShiroKit.getUser(); + Assert.isFalse(Objects.isNull(user), () -> { + throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); + }); + request.setCreateUserId(user.getId()); + List reportResponseList = handleApprovalStatus(null, request); + iBaseExportService.exportExcel(response, CertificateReportResponse.class, reportResponseList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); } catch (Exception e) { log.error("证书报告导出出现异常,异常信息为{}", e); } @@ -231,15 +244,15 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -251,27 +264,27 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ - approvalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); + if (!CollectionUtils.isEmpty(businessKeys)) { + approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ - rejectApprovalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { + rejectApprovalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -279,7 +292,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.CANCELED); } break; @@ -288,10 +301,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleAllApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), AllApproveList); } break; @@ -299,9 +312,26 @@ return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List allApproveList) { - Map taskMap = new HashMap<>(); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + /** + * 客户、样品详情列表 + */ + @Override + public Page certificateRecordsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception { + Page page = PageFactory.defaultPage(); + Page certificateResponsePage = this.baseMapper.certificateRecordsById(page, customerSampleIdRequest); + for (CertificationResponse customerSampleListResponse : certificateResponsePage.getRecords()) { + if (!StringUtils.isEmpty(customerSampleListResponse.getCertificationClass())) { + DictCodeUtils.convertDictMultiCodeToName(customerSampleListResponse); + } + } + return certificateResponsePage; + } + + private List handleAllApprovalListResponse(List approvalList, List allApproveList) { + Map taskMap = new HashMap<>(); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -313,7 +343,7 @@ return approvalList.stream().sorted(Comparator.comparing(CertificateReportResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, String status){ + private List handleApprovalListResponse(List approvalList, String status) { approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); @@ -324,14 +354,14 @@ private void initCertificateReport(BusinessCertificateReport certificateReport) { String prefix = MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue() - +DateUtil.format(new Date(),"YYYYMM"); + + DateUtil.format(new Date(), "YYYYMM"); Long maxNo = this.baseMapper.selectMaxCode(prefix); //生成证书编号 - String certificateReportNo =NumberGeneratorUtil.getCode( - MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(),maxNo); + String certificateReportNo = NumberGeneratorUtil.getCode( + MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(), maxNo); AuthUser authUser = ShiroKit.getUser(); certificateReport.setCreateUser(authUser.getId()); - certificateReport.setMeasurePersonId(authUser.getId()+""); + certificateReport.setMeasurePersonId(authUser.getId() + ""); certificateReport.setMeasureDeptId(authUser.getDeptId()); certificateReport.setCertificateReportCode(certificateReportNo); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index c4ed5f6..5456773 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -12,13 +12,12 @@ import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; import com.casic.missiles.mapper.business.EnvironmentListResponseMapper; import com.casic.missiles.model.business.BusinessEnvironmentRecord; -import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 859010b..0d847a0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessInterchangeMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; @@ -35,7 +36,7 @@ * 业务管理-设备交接单 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @@ -83,7 +84,7 @@ } /** - * 更新不对样品有任何操作 + * 更新只是交接单的变更,没有任何其他单位的变化 */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { @@ -94,6 +95,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 交接单新增,同时在样品委托书管理表中新增交接单记录id + */ @Override @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { @@ -111,6 +115,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 选中判断ids存在,进行其他条件的清空 + */ @Override public void exportExchange(InterchangeListRequest request, HttpServletResponse response) { try { @@ -153,7 +160,7 @@ private void populationExchange(BusinessInterchange businessInterchange) { Long maxNo = this.baseMapper.selectMaxExchangeNo(); - String orderNo = NumberGeneratorUtil.getContactNo("jjdh", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.INTER_CHANGE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessInterchange.setCreateUser(authUser.getId()); businessInterchange.setInterchangeCode(orderNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java index 585a207..955cc7a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java @@ -13,19 +13,18 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.*; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.HandOutPropertyEnum; -import com.casic.missiles.enums.MeasureStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.HandOutPropertyEnum; +import com.casic.missiles.enums.business.MeasureStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.*; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; -import com.casic.missiles.model.business.BusinessLabExecutiveInfo; -import com.casic.missiles.model.business.BusinessLabExecutiveOperateLog; -import com.casic.missiles.model.business.BusinessLabExecutiveTemplateInfo; +import com.casic.missiles.model.business.*; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; import com.casic.missiles.service.business.IBusinessLabExecutiveTemplateInfoService; @@ -71,6 +70,8 @@ private AbstractDictService dictService; @Autowired private MeterStaffMapper staffMapper; + @Autowired + private BusinessOrderMapper orderMapper; @Override public Page handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) throws Exception{ @@ -377,7 +378,9 @@ if(CollectionUtils.isEmpty(unExecutiveInfos)){ //更新样品状态为检测完 orderSampleRelationMapper.updateByOrderIdAndSampleId(pre.getOrderId(), pre.getSampleId(), SampleStatusEnum.MEASURE_COMPLETE); - // TODO: 2023/2/17 委托书中所有样品检测完更新委托书接收状态为检测完成,需求待定 + + //委托书中所有样品检测完更新委托书接收状态为检测完成,未检测完的数量为0则表示全部检完 + updateOrderStatusComplete(pre); //将检测记录加入到实验室检测模板(仅全部为检测完成的才加入到模板,包含终止的不会加入) List labList = new ArrayList<>(); @@ -407,9 +410,27 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + @Transactional + public void updateOrderStatusComplete(SampleOperateRequest pre) { + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("order_id", pre.getOrderId()); + List statusList = new ArrayList<>(); + statusList.add(SampleStatusEnum.TO_RECEIVE); + statusList.add(SampleStatusEnum.TO_HANDOUT); + statusList.add(SampleStatusEnum.IN_MEASURE); + wrapper1.in("sample_status", statusList); + //同一事务中可查到更新后的数量 + if(orderSampleRelationMapper.selectCount(wrapper1) == 0){ + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(pre.getOrderId()); + businessOrder.setStatus(OrderStatusEnum.COMPLETE); + orderMapper.updateById(businessOrder); + } + } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + String templateCode = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.LAB_EXECUTIVE_TEMPLATE_PREFIX, maxNo + i); templateInfo.setTemplateCode(templateCode); // templateInfo.setSampleTypeId(); templateInfo.setSampleId(lab.getSampleId()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index f5c6f61..1d63554 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -14,6 +14,10 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; +import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; @@ -35,7 +39,6 @@ import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -45,12 +48,12 @@ * 业务管理-委托书 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @AllArgsConstructor -public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { +public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService,PrefixCodeEnum, OrderStatusEnum,SampleStatusEnum, MeasureTypeEnum { private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; @@ -90,8 +93,10 @@ List customerSampleList = new ArrayList<>(); for (BusinessOrderSampleRelation orderSample : orderSampleList) { CustomerSampleInfo customerSampleInfo = customerSampleService.sampleDetail(orderSample.getSampleId()); - customerSampleInfo.setIsExistSample("1"); - customerSampleList.add(customerSampleInfo); + if (null != customerSampleInfo) { + customerSampleInfo.setIsExistSample("1"); + customerSampleList.add(customerSampleInfo); + } } businessOrder.setCustomerSampleInfoList(customerSampleList); return businessOrder; @@ -202,7 +207,13 @@ @Override public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); - String dealType = "委托书" + ((status.equals("2")) ? "接收" : "退回"); + String dealType = ""; + if (status.equals(ALREADY_RECEIVED)) { + dealType = "委托书接收" ; + doUpdateSampleStatus(orderCancelRequest.getId(),TO_RECEIVE); + } else { + dealType = "委托书退回"; + } int addDealRecordFlag = addDealRecord(orderCancelRequest, dealType); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -216,7 +227,7 @@ @Override @Transactional public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { - int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), ALREADY_CANCEL); int addDealRecordFlag = addDealRecord(orderCancelRequest, "委托书取消"); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -250,6 +261,7 @@ return dealRecordMapper.insert(businessDealRecord); } + /** * 强调正在做状态更新 */ @@ -280,12 +292,12 @@ private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); - String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(ORDER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); - businessOrder.setStatus("1"); + businessOrder.setStatus(NOT_RECEIVED); } /** @@ -320,10 +332,23 @@ sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); - sampleStatusPopulation.setMeasureType("1"); + sampleStatusPopulation.setMeasureType(INSIDE_MEASURE); return this.sampleRelationMapper.insert(sampleStatusPopulation); } + /** + * 强调正在做状态更新 + */ + private int doUpdateSampleStatus(Long orderId, String sampleStatus) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", orderId); + BusinessOrderSampleRelation orderSample = new BusinessOrderSampleRelation(); + orderSample.setId(orderId); + orderSample.setSampleStatus(sampleStatus); + return this.sampleRelationMapper.update(orderSample, queryWrapper); + } + + private void doSampleListPopulation(BusinessOrder businessOrder) { businessOrder.getCustomerSampleInfoList().forEach( customerSampleInfo -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java index 1e35b7a..1c602b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java @@ -131,7 +131,7 @@ @Override public ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord) { - if (this.baseMapper.insert(businessOriginalRecord) > 0) { + if (this.baseMapper.updateById(businessOriginalRecord) > 0) { //加入技术文件绑定 if (ObjectUtil.isNotEmpty(businessOriginalRecord.getFileList()) && businessOriginalRecord.getFileList().size() > 0) { originalRecordFileRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getFileList()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java index 07c88e9..c9c1902 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.date.DateUtil; import com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -14,6 +15,7 @@ import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; @@ -29,6 +31,7 @@ import org.springframework.util.ObjectUtils; import javax.servlet.http.HttpServletResponse; +import java.util.Date; import java.util.List; import java.util.Objects; import java.util.Optional; @@ -39,7 +42,7 @@ @Service @Slf4j @AllArgsConstructor -public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService { +public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService, SampleStatusEnum, CurrentSegmentEnum, MeasureTypeEnum { private final BusinessOrderSampleRelationMapper orderSampleRelationMapper; private final BusinessCertificateReportMapper certificateReportMapper; @@ -73,20 +76,20 @@ Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.TO_HANDOUT: + case TO_HANDOUT: //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 - case SampleStatusEnum.IN_MEASURE: + case IN_MEASURE: //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.MEASURE_COMPLETE: + case MEASURE_COMPLETE: doDispatchVoPopulation(dispatchVO, sampleId, orderId); return; //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 - case SampleStatusEnum.BE_OVERDUE: + case BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); @@ -126,12 +129,14 @@ /** - * 状态更新 + * 根据sampleId,orderId,进行状态更新 */ @Override + @Transactional public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { + boolean beforeEventFlag = beforeStatusChange(deviceStatusChangeDTO); Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFlag > 0) { + if (updateFlag > 0 && beforeEventFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -181,8 +186,9 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); +// queryWrapper.ne("order_id", deviceStatusChangeDTO.getOrderId()); BusinessLabExecutiveInfo businessLabExecutiveInfo = new BusinessLabExecutiveInfo(); - businessLabExecutiveInfo.setMeasureStatus(deviceStatusChangeDTO.getStatus()); +// businessLabExecutiveInfo.setMeasureStatus(); businessLabExecutiveInfo.setRemark(deviceStatusChangeDTO.getReason()); labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } @@ -214,6 +220,9 @@ return handOutLabExecutiveDTOOptional.orElse(null); } + /** + * 构建证书的查询条件 + */ private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("order_id", dispatchVO.getOrderId()); @@ -230,7 +239,8 @@ queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); if (terminateFlag) { - queryWrapper.eq("sample_status", "2").or().eq("sample_status", "3").or().eq("sample_status", "4"); + //若是终止,需要对应待分发、检测中、检测完三个状态的变更 + queryWrapper.eq("sample_status", TO_HANDOUT).or().eq("sample_status", IN_MEASURE).or().eq("sample_status", MEASURE_COMPLETE); } BusinessOrderSampleRelation businessOrderSampleRelation = new BusinessOrderSampleRelation(); businessOrderSampleRelation.setSampleStatus(statusChangeDTO.getStatus()); @@ -238,12 +248,12 @@ } /** - * 判断不是自检 + * 判断不是自检,即外包和外检,进行环节设定 */ private boolean notSelfMeasure(DeviceDispatchVO dispatchVO) { if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType())) { - if (MeasureStatusEnum.TO_ALLOCATE.equals(String.valueOf(dispatchVO.getMeasureType())) || MeasureStatusEnum.TO_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { - String currentSegment = MeasureStatusEnum.TO_ALLOCATE.equals(dispatchVO.getMeasureType()) ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; + if (OTHERS_UNDERTAKE.equals(String.valueOf(dispatchVO.getMeasureType())) || OUTSIDE_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { + String currentSegment = OTHERS_UNDERTAKE.equals(dispatchVO.getMeasureType()) ? OUT_UNDERTAKE : OUT_MESASUR; dispatchVO.setCurrentSegment(currentSegment); return true; } @@ -251,6 +261,9 @@ return false; } + /** + * 其他条件的置为空 + */ private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { request.setSampleName(null); request.setSampleNo(null); @@ -264,18 +277,38 @@ } /** - * 判断样品是完成或接收状态,直接显示即可 + * 判断样品是完成或接收状态,进行当前阶段环节的设置 */ private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { - if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + if (TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_INCOME); return true; } - if (SampleStatusEnum.TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); + if (TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_ALLOCATE); return true; } return false; } + private boolean beforeStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(TO_INCOME)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + List orderSampleRelationList = this.orderSampleRelationMapper.selectList(queryWrapper); + Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); + if (orderSampleRelationOptional.isPresent()) { + BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); + if (businessOrderSampleRelation.getSampleStatus().equals(TO_ALLOCATE)) { + BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); + businessOrderSample.setRealDeliverTime(DateUtil.format(new Date(), "yyyy-MM-dd")); + int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); + return updateFlag > 0 ? true : false; + } + } + } + return true; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java index 4f06678..e2fea21 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerAdviceMapper; import com.casic.missiles.mapper.customer.CustomerMapper; @@ -34,7 +35,7 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerAdviceServiceImpl implements CustomerAdviceService { +public class CustomerAdviceServiceImpl implements CustomerAdviceService,PrefixCodeEnum { private final CustomerAdviceMapper customerAdviceMapper; private final IBaseExportService iBaseExportService; @@ -122,7 +123,7 @@ private void initCustomerAdviceInfo(CustomerAdviceInfo customerAdviceInfo) { Long maxNo = customerAdviceMapper.selectMaxAdviceNo(); - String adviceNo = NumberGeneratorUtil.getContactNo("khjy", maxNo); + String adviceNo = NumberGeneratorUtil.getContactNo(CUSTOMER_ADVICE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerAdviceInfo.setCreateUser(authUser.getId()); customerAdviceInfo.setUpdateUser(authUser.getId()); 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 4889e55..f9747dd 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 @@ -10,18 +10,19 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.sample.CertificationExpireStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; import com.casic.missiles.mapper.customer.CustomerMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerSampleListResponseMapper; import com.casic.missiles.mapper.customer.CustomerSampleMapper; -import com.casic.missiles.mapper.customer.customize.MesureRecordsResponseMapper; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -42,13 +43,11 @@ @Service @AllArgsConstructor -public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService { +public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService, CertificationExpireStatusEnum,PrefixCodeEnum{ private final CustomerSampleListResponseMapper customerSampleListResponseMapper; private final CustomerMapper customerMapper; private final IBaseExportService iBaseExportService; - private final CertificationResponseMapper certificationResponseMapper; - private final MesureRecordsResponseMapper mesureResponseMapper; private final BusinessOrderSampleRelationMapper sampleRelationMapper; @Override @@ -58,14 +57,14 @@ customerSamplePage.getRecords() .forEach(customerSample -> { BusinessOrderSampleRelation businessOrderSampleRelation = this.getSampleStatusById(customerSample.getId()); + customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); - customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); } }); for (CustomerSampleListResponse customerSampleListResponse : customerSamplePage.getRecords()) { - if (!StringUtils.isEmpty(customerSampleListResponse.getSampleSatus())) { + if (!StringUtils.isEmpty(customerSampleListResponse.getSampleStatus())) { DictCodeUtils.convertDictCodeToName(customerSampleListResponse); } } @@ -106,14 +105,13 @@ public CustomerSampleInfo sampleDetail(Long id) { CustomerSampleInfo customerSampleInfo = this.baseMapper.selectById(id); if (!ObjectUtils.isEmpty(customerSampleInfo)) { - doCustomerSampleInfoPopulation(customerSampleInfo); + doPopulateCustomerSampleInfo(customerSampleInfo); } return customerSampleInfo; } /** * 只导出样品列表信息 - * */ @Override public void sampleExport(CustomerSampleListRequest request, HttpServletResponse response) { @@ -135,7 +133,7 @@ BusinessOrderSampleRelation businessOrderSampleRelation = businessOrderMap.get(customerSample.getId()); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); } } @@ -159,26 +157,16 @@ } @Override - public Page measureRecordsBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page measureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); + public Page measureRecordsById(CustomerSampleIdRequest customerSampleIdRequest) { + Page page = PageFactory.defaultPage(); + Page measureRecordsResponsePage = this.baseMapper.measureRecordsById(page, customerSampleIdRequest); return measureRecordsResponsePage; } - @Override - public Page certificationBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page certificateResponsePage = certificationResponseMapper.selectPage(page, wrapper); - return certificateResponsePage; - } @Override - public Page samplesByOderId(Page page,Long orderId, String sampleNo, String sampleName) { - return this.baseMapper.samplesByOderId(page,orderId,sampleNo,sampleName); + public Page samplesByOderId(Page page, Long orderId, String sampleNo, String sampleName) { + return this.baseMapper.samplesByOderId(page, orderId, sampleNo, sampleName); } private BusinessOrderSampleRelation getSampleStatusById(Long sampleId) { @@ -190,9 +178,12 @@ return orderSampleOptional.isPresent() ? orderSampleOptional.get() : null; } + /** + * 初始化样品状态 + */ private void initSample(CustomerSampleInfo customerSampleInfo) { Long maxNo = this.baseMapper.selectMaxSampleNo(); - String sampleNo = NumberGeneratorUtil.getContactNo("khyp", maxNo); + String sampleNo = NumberGeneratorUtil.getContactNo(SAMPLE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setSampleNo(sampleNo); customerSampleInfo.setCreateUser(authUser.getId()); @@ -202,7 +193,6 @@ private QueryWrapper listParamWrapper(CustomerSampleListRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.select("id,sample_no,sample_name,sample_model,manufacturing_no,customer_id,measure_period,measure_last_time,remark,valid_deadline"); queryWrapper.like(StringUtils.isNotBlank(request.getSampleNo()), "sample_no", request.getSampleNo()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleName()), "sample_name", request.getSampleName()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleBelong()), "sample_belong", request.getSampleBelong()); @@ -210,9 +200,10 @@ queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); if (!StringUtils.isEmpty(request.getOvertimeStatus())) { - queryWrapper.apply(request.getOvertimeStatus().equals("1"), + queryWrapper.apply("1".equals(request.getOvertimeStatus()), + "sysdate() > DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); - queryWrapper.apply(request.getOvertimeStatus().equals("0"), + queryWrapper.apply("0".equals(request.getOvertimeStatus()), "sysdate() <= DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); } queryWrapper.apply(StringUtils.isNotBlank(request.getStartTime()), @@ -224,24 +215,30 @@ return queryWrapper; } + /** + * 通过证书到期时间进行到期状态的计算 + */ private String calculateCertificationStatus(String validDeadline) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if (StringUtils.isEmpty(validDeadline)) { - return "0"; + return NORMAL; } - if (validDeadline.compareTo(sdf.format(new Date())) > 0) { - return "2"; + if (validDeadline.compareTo(sdf.format(new Date())) < 0) { + return ALREADY_EXPIRE; } Calendar date = Calendar.getInstance(); date.setTime(new Date()); date.add(Calendar.DAY_OF_MONTH, -30); - if (validDeadline.compareTo(sdf.format(date.getTime())) > 0) { - return "1"; + if (validDeadline.compareTo(sdf.format(date.getTime())) < 0) { + return ALMOST_EXPIRE; } - return "0"; + return NORMAL; } - private void doCustomerSampleInfoPopulation(CustomerSampleInfo customerSampleInfo) { + /** + * 对样品列表的进行供应商联系方式的填充 + */ + private void doPopulateCustomerSampleInfo(CustomerSampleInfo customerSampleInfo) { CustomerInfo customerInfo = customerMapper.selectById(customerSampleInfo.getCustomerId()); if (!ObjectUtils.isEmpty(customerInfo)) { customerSampleInfo.setPhone(customerInfo.getPhone()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java index 32d4dee..f6e1f8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java @@ -11,13 +11,12 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerMapper; import com.casic.missiles.mapper.customer.CustomerUserMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerInfoResponseMapper; import com.casic.missiles.mapper.customer.customize.SampleRecordsResponseMapper; import com.casic.missiles.model.customer.CustomerInfo; @@ -38,11 +37,10 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerServiceImpl extends ServiceImpl implements CustomerService { +public class CustomerServiceImpl extends ServiceImpl implements CustomerService,PrefixCodeEnum { private final SampleRecordsResponseMapper sampleRecordsResponseMapper; private final CustomerUserMapper customerUserMapper; - private final CertificationResponseMapper certificationMapper; private final IBaseExportService iBaseExportService; private final CustomerInfoResponseMapper customerInfoResponseMapper; @@ -126,18 +124,9 @@ return contractRecordsResponsePage; } - @Override//暂定不做 - public Page mesureRecordsByCustomerId(Long customerId) { - Page measureRecordsResponsePage = PageFactory.defaultPage(); - return measureRecordsResponsePage; - } - @Override public Page certificationByCustomerId(Long customerId) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("customer_id", customerId); - return certificationMapper.selectPage(page, wrapper); + return null; } @Override @@ -163,8 +152,7 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); - queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "bussiness_size", request.getBusinessSize()); - queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); + queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "business_size", request.getBusinessSize()); queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); queryWrapper.eq("is_del", 0); return queryWrapper; @@ -172,7 +160,7 @@ private void initCustomerInfo(CustomerInfo customerInfo) { Long maxNo = this.baseMapper.selectMaxCustomerNo(); - String customerNo = NumberGeneratorUtil.getContactNo("khxx", maxNo); + String customerNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CUSTOMER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerInfo.setCreateUser(authUser.getId()); customerInfo.setUpdateUser(authUser.getId()); @@ -196,7 +184,7 @@ boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { customerUserInfo.setCustomerId(id); - String customerNo = NumberGeneratorUtil.getContactNo("khyh", maxUserNo++); + String customerNo = NumberGeneratorUtil.getContactNo(CUSTOMER_USER_PREFIX, maxUserNo++); customerUserInfo.setUserNo(customerNo); int userAddNum = customerUserMapper.insert(customerUserInfo); if (userAddNum <= 0) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java index d81a488..77e4caf 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java @@ -13,9 +13,10 @@ import com.casic.missiles.dto.equipment.AcceptanceCheckRequest; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentAcceptanceCheckMapper; @@ -183,7 +184,7 @@ public ReturnDTO addAcceptanceCheck(EquipmentApply equipmentApply) { Long maxNo = equipmentApplyMapper.selectMaxNo(); // 生成编号 - String applyNo = NumberGeneratorUtil.getContactNo("sbjxbyysd", maxNo); + String applyNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.REPAIR_MAINTAIN_PREFIX, maxNo); equipmentApply.setApplyNo(applyNo); // 草稿箱状态 equipmentApply.setApprovalStatus(ApprovalStatusEnum.DRAFT); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java index 38ad4e9..d468012 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java @@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.base.service.IBaseExportService; -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.IdDTO; @@ -20,6 +19,9 @@ import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java index 7c4fdbc..e6a1ff8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.equipment.CheckInfoRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoFileMapper; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoMapper; @@ -79,7 +80,7 @@ @Transactional public ReturnDTO addCheckInfo(EquipmentCheckInfo equipmentCheckInfo) { long maxNo = equipmentCheckInfoMapper.selectMaxNo(); - String checkNo = NumberGeneratorUtil.getContactNo("jc", maxNo); + String checkNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CHECK_PREFIX, maxNo); equipmentCheckInfo.setCheckNo(checkNo); if(equipmentCheckInfoMapper.insert(equipmentCheckInfo) > 0){ Long id = equipmentCheckInfo.getId(); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java index ba6a600..7ff9c16 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.equipment; -import cn.hutool.core.io.unit.DataUnit; import com.alibaba.excel.util.DateUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -13,7 +12,8 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.FixedAssetRequest; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentFixedAssetFileMapper; @@ -131,7 +131,7 @@ validManufacturingNo(meterFixedAssets); //生成资产编号 Long maxNo = meterFixedAssetsMapper.selectMaxNo(); - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); meterFixedAssets.setAssetNo(asset_no); meterFixedAssets.setEquipmentNo(asset_no); meterFixedAssetsMapper.insert(meterFixedAssets); @@ -164,7 +164,7 @@ //需要根据出厂编号判重 validManufacturingNo(item); //生成资产编号 - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); item.setAssetNo(asset_no); item.setEquipmentNo(asset_no); maxNo++; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java index 3e63a5a..2b29aa7 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java @@ -18,6 +18,8 @@ import com.casic.missiles.dto.equipment.StandardEquipmentApplyRequest; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.StandardApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java index caa63a7..afa6905 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java @@ -10,9 +10,9 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.StandardEquipmentRequest; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentFileMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentMapper; -import com.casic.missiles.model.equipment.EquipmentApply; import com.casic.missiles.model.equipment.EquipmentStandardEquipment; import com.casic.missiles.model.equipment.EquipmentStandardEquipmentFile; import com.casic.missiles.model.page.PageQuery; @@ -74,7 +74,7 @@ public ReturnDTO add(EquipmentStandardEquipment meterStandardEquipment) { //生成资产编号 Long maxNo = meterStandardEquipmentMapper.selectMaxNo(); - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); meterStandardEquipment.setStandardNo(standard_no); meterStandardEquipmentMapper.insert(meterStandardEquipment); // 插入文件列表 @@ -129,7 +129,7 @@ } DictCodeUtils.validDictCode(item); //生成资产编号 - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); item.setStandardNo(standard_no); maxNo++; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java index 481cf64..b749b2e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java @@ -2,7 +2,6 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.dto.IdDTO; @@ -12,7 +11,7 @@ import com.casic.missiles.dto.equipment.StateManageResponse; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java index 5dd6f8e..e566e01 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.EquipmentWorkbenchResponse; -import com.casic.missiles.enums.ApplyFromIdEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java index f3b9c4f..485287a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java @@ -6,7 +6,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.system.dao.DeptMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java index ce076b0..c20feb0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java @@ -4,7 +4,6 @@ import cn.hutool.core.lang.Assert; import cn.hutool.core.util.ObjectUtil; import com.alibaba.excel.util.DateUtils; -import com.alibaba.excel.util.StringUtils; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -22,18 +21,18 @@ import com.casic.missiles.dto.meter.MeterCertificateImport; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.enums.*; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterRoleTypeEnum; +import com.casic.missiles.enums.workbench.MessageTypeEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.meter.MeterCertificateExpireMessageMapper; import com.casic.missiles.mapper.meter.MeterCertificateMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.sys.UserInfoMapper; import com.casic.missiles.mapper.workbench.WorkbenchRemindMessageMapper; import com.casic.missiles.model.meter.MeterCertificate; -import com.casic.missiles.model.meter.MeterCertificateExpireMessage; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.model.system.UserInfo; import com.casic.missiles.model.workbench.WorkbenchRemindMessage; -import com.casic.missiles.service.meter.MeterCertificateExpireMessageService; import com.casic.missiles.service.meter.MeterCertificateService; import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; import com.casic.missiles.utils.ExportUtils; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java index ecf1fc3..e84f4d6 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java @@ -17,10 +17,11 @@ import com.casic.missiles.dto.meter.FileApprovalListResponse; import com.casic.missiles.dto.meter.FileListRequest; import com.casic.missiles.dto.meter.FileSaveResponse; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EffectiveStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.EffectiveStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterFileMapper; import com.casic.missiles.model.meter.MeterFile; @@ -92,7 +93,7 @@ public ReturnDTO saveFile(MeterFile file) { //生成文件编号 Long maxNo = meterFileMapper.selectMaxFileNo(); - String fileNo = NumberGeneratorUtil.getContactNo("jlwj", maxNo); + String fileNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FILE_PREFIX, maxNo); file.setFileNo(fileNo); file.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 Assert.isFalse(Objects.isNull(ShiroKit.getUser()), () -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java index 000e58a..467f03d 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java @@ -10,7 +10,8 @@ import com.casic.missiles.dto.meter.ParentDeptRequest; import com.casic.missiles.dto.meter.ParentDeptResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.model.meter.MeterOrganize; @@ -101,7 +102,7 @@ public int addOrganize(Dept dept) { //生成组织编号 Long maxNo = organizeMapper.selectMaxOrganizeNo(); - String organizeNo = NumberGeneratorUtil.getContactNo("jlzz", maxNo); + String organizeNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.ORGANIZE_PREFIX, maxNo); MeterOrganize meterOrganize = new MeterOrganize(); meterOrganize.setDeptId(dept.getId()); meterOrganize.setPDeptId(dept.getPid()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java index 7c3f9cf..643ba4c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java @@ -13,7 +13,8 @@ import com.casic.missiles.dto.meter.MeterPriceRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterPriceCategoryMapper; import com.casic.missiles.mapper.meter.MeterPriceItemMapper; @@ -83,7 +84,7 @@ MeterPriceItem item = new MeterPriceItem(null,priceCategory.getId(),meterPrice.getItemName()); if(categoryFlag>0 && meterPriceItemMapper.insert(item)>0){ Long maxNo = meterPriceMapper.getMaxNo(); - String priceNo = NumberGeneratorUtil.getContactNo("jg", maxNo); + String priceNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.PRICE_PREFIX, maxNo); meterPrice.setPriceNo(priceNo); meterPrice.setPriceType(priceCategory.getId().toString()); meterPrice.setPriceItem(item.getId().toString()); @@ -178,7 +179,7 @@ // 校验通过 AtomicLong maxNo = new AtomicLong(meterPriceMapper.getMaxNo()); list.forEach(bean->{ - String priceNo = NumberGeneratorUtil.getContactNo("jg", maxNo.get()); + String priceNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.PRICE_PREFIX, maxNo.get()); maxNo.set(Long.parseLong(priceNo.substring(2))); Long id= IdWorker.getId(); bean.setId(id); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java index 7c4a1a1..f79bb8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java @@ -15,7 +15,8 @@ import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterCertificateMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; @@ -42,7 +43,6 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; -import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.concurrent.atomic.AtomicBoolean; @@ -139,7 +139,7 @@ } long maxNo = meterStaffMapper.getMaxNo(); meterStaff.setIsDel(0); - String staffNo = NumberGeneratorUtil.getContactNo("jlry", maxNo); + String staffNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STAFF_PREFIX, maxNo); meterStaff.setStaffNo(staffNo); if(meterStaffMapper.insert(meterStaff)>0){ Long id = meterStaff.getId(); @@ -263,7 +263,7 @@ AtomicLong maxNo = new AtomicLong(meterStaffMapper.getMaxNo()); list.forEach(bean->{ // 生成编号 - String staffNo = NumberGeneratorUtil.getContactNo("jlry", maxNo.get()); + String staffNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STAFF_PREFIX, maxNo.get()); maxNo.set(Long.parseLong(staffNo.substring(4))); bean.setStaffNo(staffNo); // 获取id diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java index 535581f..0beebb1 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java @@ -14,9 +14,10 @@ import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.meter.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterTraceSupplierMapper; import com.casic.missiles.model.meter.MeterTraceSupplier; @@ -92,7 +93,7 @@ public ReturnDTO saveTraceSupplier(MeterTraceSupplier traceSupplier) { //生成编号 Long maxNo = traceSupplierMapper.selectMaxSupplierNo(); - String supplierNo = NumberGeneratorUtil.getContactNo("sygf", maxNo); + String supplierNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.TRACE_SUPPLIER_PREFIX, maxNo); traceSupplier.setSupplierNo(supplierNo); traceSupplier.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 Assert.isFalse(Objects.isNull(ShiroKit.getUser()), () -> { @@ -106,7 +107,7 @@ //存储溯源供方人员信息 boolean saveBatchFlag = true; List traceSupplierPersonList = traceSupplier.getTraceSupplierPersonList(); - if(!CollectionUtils.isEmpty(traceSupplierPersonList)){ + if (!CollectionUtils.isEmpty(traceSupplierPersonList)) { traceSupplierPersonList.forEach(person -> { person.setSupplierId(traceSupplier.getId()); }); @@ -119,7 +120,7 @@ //存储溯源供方标准装置信息 boolean saveBatchFlag2 = true; List standardEquipmentIds = traceSupplier.getStandardEquipmentIds(); - if(!CollectionUtils.isEmpty(standardEquipmentIds)){ + if (!CollectionUtils.isEmpty(standardEquipmentIds)) { List equipmentList = new ArrayList<>(); standardEquipmentIds.forEach(id -> { MeterTraceSupplierStandardEquipment equipment = new MeterTraceSupplierStandardEquipment(); @@ -154,7 +155,7 @@ traceSupplierPersonService.remove(wrapper); boolean saveFlag = true; //溯源供方人员可能为空 - if(!CollectionUtils.isEmpty(traceSupplierPersonList)){ + if (!CollectionUtils.isEmpty(traceSupplierPersonList)) { //再增加 traceSupplierPersonList.forEach(person -> { person.setSupplierId(traceSupplier.getId()); @@ -169,7 +170,7 @@ meterTraceSupplierStandardEquipmentService.remove(wrapper1); boolean saveBatchFlag2 = true; List standardEquipmentIds = traceSupplier.getStandardEquipmentIds(); - if(!CollectionUtils.isEmpty(standardEquipmentIds)){ + if (!CollectionUtils.isEmpty(standardEquipmentIds)) { List equipmentList = new ArrayList<>(); standardEquipmentIds.forEach(id -> { MeterTraceSupplierStandardEquipment equipment = new MeterTraceSupplierStandardEquipment(); @@ -195,10 +196,10 @@ String formId = request.getFormId(); ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); MeterTraceSupplier traceSupplier = new MeterTraceSupplier(); traceSupplier.setId(request.getId()); @@ -225,9 +226,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //本地删除 - if(traceSupplierMapper.deleteById(request.getId()) > 0){ + if (traceSupplierMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -267,16 +268,16 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -288,7 +289,7 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.IN_APPROVED); } @@ -296,7 +297,7 @@ //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.PASSED); } @@ -305,12 +306,12 @@ case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { List rejectList = traceSupplierMapper.selectBatchForApproval(page, request, rejectBusinessKey); rejectApprovalList = handleApprovalListResponse(approvalList, rejectList, ApprovalStatusEnum.FAILED_REJECT); } @@ -320,7 +321,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.CANCELED); } @@ -330,10 +331,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleAllApprovalListResponse(approvalList, list, AllApproveList); } @@ -343,9 +344,11 @@ } private List handleAllApprovalListResponse(List approvalList, List list, List allApproveList) { - Map taskMap = new HashMap<>(); + Map taskMap = new HashMap<>(); approvalList = ConvertUtils.sourceToTarget(list, TraceSupplierApprovalListResponse.class); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -369,7 +372,7 @@ @Override public ReturnDTO deleteTraceSupplier(Long id) { - if(traceSupplierMapper.deleteById(id) > 0){ + if (traceSupplierMapper.deleteById(id) > 0) { return ReturnUtil.success(); } return ReturnUtil.failed("刪除失败"); @@ -377,7 +380,7 @@ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - if(traceSupplierMapper.deleteBatchIds(ids) > 0){ + if (traceSupplierMapper.deleteBatchIds(ids) > 0) { return ReturnUtil.success(); } return ReturnUtil.failed("删除失败"); @@ -400,6 +403,7 @@ wrapper.eq("id", 12344321); return wrapper; } + wrapper.like(StringUtils.isNotBlank(request.getSupplierNo()), "supplier_no", request.getSupplierNo()); wrapper.like(StringUtils.isNotBlank(request.getSupplierName()), "supplier_name", request.getSupplierName()); wrapper.like(StringUtils.isNotBlank(request.getBusinessContent()), "business_content", request.getBusinessContent()); @@ -409,7 +413,7 @@ return wrapper; } - private List handleApprovalListResponse(List approvalList, List list, String status){ + private List handleApprovalListResponse(List approvalList, List list, String status) { approvalList = ConvertUtils.sourceToTarget(list, TraceSupplierApprovalListResponse.class); approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java index 0fd9403..bec30c8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.meter.TrainLogListRequest; import com.casic.missiles.dto.meter.TrainLogUpdateRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterTrainLogMapper; import com.casic.missiles.mapper.meter.MeterTrainStaffMapper; @@ -58,7 +59,7 @@ public ReturnDTO addTrainLog(TrainLogAddRequest request) { //生成编号 Long maxNo = trainLogMapper.selectMaxTrainLogNo(); - String logNo = NumberGeneratorUtil.getContactNo("pxjl", maxNo); + String logNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.TRAIN_LOG_PREFIX, maxNo); MeterTrainLog meterTrainLog = ConvertUtils.sourceToTarget(request, MeterTrainLog.class); meterTrainLog.setLogNo(logNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java index e4f4dcb..e3d0750 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java @@ -14,9 +14,10 @@ import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.meter.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.meter.MeterTrainPlanMapper; @@ -98,7 +99,7 @@ public ReturnDTO saveTrainPlan(MeterTrainPlan trainPlan) { //生成编号 Long maxNo = trainPlanMapper.selectMaxTrainPlanNo(); - String planNo = NumberGeneratorUtil.getContactNo("pxjh", maxNo); + String planNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.TRAIN_PLAN_PREFIX, maxNo); trainPlan.setPlanNo(planNo); trainPlan.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 Assert.isFalse(Objects.isNull(ShiroKit.getUser()), () -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterWorkbenchServiceImpl.java index 663d024..921ae71 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterWorkbenchServiceImpl.java @@ -10,8 +10,8 @@ import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.dto.meter.MeterWorkbenchRequest; import com.casic.missiles.dto.meter.MeterWorkbenchResponse; -import com.casic.missiles.enums.ExamResultEnum; -import com.casic.missiles.enums.MeterRoleTypeEnum; +import com.casic.missiles.enums.meter.ExamResultEnum; +import com.casic.missiles.enums.meter.MeterRoleTypeEnum; import com.casic.missiles.mapper.meter.MeterCertificateMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.meter.MeterTrainPlanMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java index 163c77f..5d76a52 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.system.FlowListRequest; import com.casic.missiles.dto.system.FlowProcDefDTO; import com.casic.missiles.dto.system.FlowUpdateStateRequest; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.FlowDefMapper; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java index dcebbbd..f59ae28 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.system.NoticeAddRequest; import com.casic.missiles.dto.system.NoticeListRequest; import com.casic.missiles.dto.system.NoticeReadRequest; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.system.SystemNoticeMapper; import com.casic.missiles.mapper.system.SystemNoticeUserRelationMapper; import com.casic.missiles.model.system.SystemNotice; @@ -56,7 +57,7 @@ public ReturnDTO addNotice(NoticeAddRequest noticeAddRequest) { //生成编号 Long maxNo = noticeMapper.selectMaxNoticeNo(); - String noticeNo = NumberGeneratorUtil.getContactNo("tzgg", maxNo); + String noticeNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.NOTICE_PREFIX, maxNo); noticeAddRequest.setNoticeNo(noticeNo); SystemNotice systemNotice = ConvertUtils.sourceToTarget(noticeAddRequest, SystemNotice.class); int insertFlag = noticeMapper.insert(systemNotice); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemSignServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemSignServiceImpl.java index dffd29b..3bc7d81 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemSignServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemSignServiceImpl.java @@ -8,6 +8,7 @@ import com.casic.missiles.dto.system.SignAddRequest; import com.casic.missiles.dto.system.SignDetailResponse; import com.casic.missiles.dto.system.SignListRequest; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.system.SystemSignMapper; import com.casic.missiles.mapper.system.SystemSignUserRelationMapper; import com.casic.missiles.model.system.SystemSign; @@ -72,17 +73,16 @@ public ReturnDTO addSign(SignAddRequest request) { //生成编号 Long maxNo = signMapper.selectMaxSignNo(); - String signNo = NumberGeneratorUtil.getContactNo("qmqz", maxNo); //签名签章编号一起 + String signNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.SIGN_PREFIX, maxNo); //签名签章编号一起 SystemSign systemSign = ConvertUtils.sourceToTarget(request, SystemSign.class); systemSign.setSignNo(signNo); int insertFlag = signMapper.insert(systemSign); //关联表 - //签名无可使用人,签章有可使用人 - boolean saveBatch = true; - if("2".equals(request.getSignType())){ - List userRelationList = getUserRelations(request.getUserIdList(), systemSign.getId()); - saveBatch = userRelationService.saveBatch(userRelationList); - } + //签名/签章可使用人 + List userIdList = request.getUserIdList(); + userIdList.add(request.getSignUserId()); //添加签名本人 + List userRelationList = getUserRelations(userIdList, systemSign.getId()); + boolean saveBatch = userRelationService.saveBatch(userRelationList); if(insertFlag > 0 && saveBatch){ return ReturnUtil.success(); } @@ -94,16 +94,15 @@ public ReturnDTO updateSign(SystemSign systemSign) { int updateFlag = signMapper.updateById(systemSign); //关联表 - //签章有可使用人 - int deleteFlag = 1; - boolean saveBatch = true; - if("2".equals(systemSign.getSignType())){ - Map columnMap = new HashMap<>(); - columnMap.put("sign_id", systemSign.getId()); - deleteFlag = userRelationMapper.deleteByMap(columnMap); - List userRelationList = getUserRelations(systemSign.getUserIdList(), systemSign.getId()); - saveBatch = userRelationService.saveBatch(userRelationList); - } + //签名/签章可使用人 + Map columnMap = new HashMap<>(); + columnMap.put("sign_id", systemSign.getId()); + int deleteFlag = userRelationMapper.deleteByMap(columnMap); + List userIdList = systemSign.getUserIdList(); + userIdList.add(systemSign.getSignUserId()); + List userRelationList = getUserRelations(systemSign.getUserIdList(), systemSign.getId()); + boolean saveBatch = userRelationService.saveBatch(userRelationList); + if(updateFlag > 0 && deleteFlag > 0 && saveBatch){ return ReturnUtil.success(); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemTemplateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemTemplateServiceImpl.java index 8ac39b3..4d6aa00 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemTemplateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemTemplateServiceImpl.java @@ -8,6 +8,7 @@ import com.casic.missiles.dto.system.TemplateAddRequest; import com.casic.missiles.dto.system.TemplateDetailResponse; import com.casic.missiles.dto.system.TemplateListRequest; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.system.SystemTemplateMapper; import com.casic.missiles.mapper.system.SystemTemplateUserRelationMapper; import com.casic.missiles.model.system.SystemTemplate; @@ -66,7 +67,7 @@ public ReturnDTO addTemplate(TemplateAddRequest request) { //生成编号 Long maxNo = templateMapper.selectMaxTemplateNo(); - String templateNo = NumberGeneratorUtil.getContactNo("jlbg", maxNo); //原始记录模板证书报告模板编号一起 + String templateNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.TEMPLATE_PREFIX, maxNo); //原始记录模板证书报告模板编号一起 SystemTemplate systemTemplate = ConvertUtils.sourceToTarget(request, SystemTemplate.class); systemTemplate.setTemplateNo(templateNo); int insertFlag = templateMapper.insert(systemTemplate); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java new file mode 100644 index 0000000..e196dda --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Builder; +import lombok.Data; + +/** + * @author cz + */ +@Data +@Builder +public class NotifyEventStatusDTO { + + /** + * 业务表主键 + */ + private String id; + /** + * 业务表状态 + */ + private String status; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java index 65c19e3..0f3e84f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java @@ -74,7 +74,7 @@ /** * 部门/科室/工程组名称 */ - @ExcelProperty("组织编号") + @ExcelProperty("组织名称") @ApiModelProperty(value = "计量组织名称", dataType = "String", required = true) @NotBlank(message = "计量组织名称不能为空") @TableField("organize_name") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java index 54dc5cd..244e431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java @@ -84,7 +84,7 @@ * 签名用户id(一个用户一个签名,签名不使用关联表,签章暂时使用和使用人的关联表) */ @TableField("sign_user_id") - private String signUserId; + private Long signUserId; /** * 签章或签名-字典code diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java index ca20ca4..0e94b9e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 2f97cb3..fdc4bf0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -3,7 +3,6 @@ import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -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; @@ -17,9 +16,10 @@ import com.casic.missiles.dto.flowable.ApprovalAgreeRequest; import com.casic.missiles.dto.flowable.ApprovalRefuseRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -42,10 +42,9 @@ */ @Service @AllArgsConstructor -public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { +public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService, CertificatePrintStatusEnum { private final IBaseApprovalService baseApprovalService; - private final AbstractDictService dictService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; @@ -86,7 +85,7 @@ } /** - * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 * * @return */ @@ -103,7 +102,7 @@ BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); //设置为不能打印 - certificateReport.setPrintStatus("2"); + certificateReport.setPrintStatus(NON_PRINTABLE); certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { @@ -113,7 +112,7 @@ } /** - * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 */ @Transactional @Override @@ -128,7 +127,7 @@ //审批状态为审批中 certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //打印状态审批中 - certificateReport.setPrintStatus("3"); + certificateReport.setPrintStatus(IN_APPROVAL); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -142,7 +141,7 @@ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)&&CollectionUtils.isEmpty(request.getIds())) { - handlerBeApproved(approvalList, page, request); + approvalList=handlerBeApproved(approvalList, page, request); }else { approvalList=this.baseMapper.selectBatchForApprovalList(page, request, null); } 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 d03ab22..164c53a 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,17 +7,22 @@ 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.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; -import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +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.MonitorCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -26,9 +31,9 @@ import com.casic.missiles.service.business.IBusinessCertificateReportService; import com.casic.missiles.service.business.IBusinessOriginalRecordService; import com.casic.missiles.service.flowable.ApprovalOperateService; -import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; +import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.runtime.ProcessInstance; @@ -68,8 +73,10 @@ private RuntimeService runtimeService; @Resource private IBaseExportService iBaseExportService; + /** * 保存证书报告信息 + * * @param certificateReport * @return */ @@ -77,7 +84,7 @@ public ReturnDTO saveCertificateReport(BusinessCertificateReport certificateReport) { initCertificateReport(certificateReport); - if(this.baseMapper.insert(certificateReport)>0) + if (this.baseMapper.insert(certificateReport) > 0) return ReturnUtil.success(); throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -90,9 +97,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //删除数据库记录 - if(this.baseMapper.deleteById(request.getId()) > 0){ + if (this.baseMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -101,7 +108,7 @@ @Override public ReturnDTO draftUpdate(BusinessCertificateReport certificateReport) { - if(this.baseMapper.updateById(certificateReport)>0){ + if (this.baseMapper.updateById(certificateReport) > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -109,25 +116,27 @@ /** * 批量删除 + * * @param ids * @return */ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - return baseMapper.deleteBatchIds(ids) > 0?ReturnUtil.success(): + return baseMapper.deleteBatchIds(ids) > 0 ? ReturnUtil.success() : ReturnUtil.failed("删除失败"); } /** * 证书报告详情 + * * @param id * @return */ @Override public BusinessCertificateReport certificateReportDetail(Long id) { BusinessCertificateReport certificateReport = this.baseMapper.selectById(id); - if(certificateReport.getOriginalRecordId()!=null){ + if (certificateReport.getOriginalRecordId() != null) { try { certificateReport.setBusinessOriginalRecord(originalRecordService.originalDetail(certificateReport.getOriginalRecordId())); } catch (Exception e) { @@ -139,6 +148,7 @@ /** * 提交证书报告 + * * @param request * @return */ @@ -148,10 +158,10 @@ String formId = request.getFormId(); //2.根据流程定义id启动流程实例 ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); certificateReport.setApprovalStatus(ApprovalStatusEnum.UN_DRAFT); //非草稿状态 @@ -165,6 +175,7 @@ /** * 审批状态列表查询 + * * @param page * @param request * @return @@ -182,6 +193,7 @@ /** * 驳回后更新 + * * @param certificateReport * @return */ @@ -208,13 +220,14 @@ @Override public void originExport(CertificateReportApprovalRequest request, HttpServletResponse response) { try { - //toDo: -// List certificateReportResponses = this.certificateReport(request); -// for (OriginRecordResponse originRecordResponse : originExportList) { -// //字典值转换 -// DictCodeUtils.convertDictCodeToName(originRecordResponse); -// } -// iBaseExportService.exportExcel(response, CertificateReportResponse.class, originExportList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); + //登录用户 + AuthUser user = ShiroKit.getUser(); + Assert.isFalse(Objects.isNull(user), () -> { + throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); + }); + request.setCreateUserId(user.getId()); + List reportResponseList = handleApprovalStatus(null, request); + iBaseExportService.exportExcel(response, CertificateReportResponse.class, reportResponseList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); } catch (Exception e) { log.error("证书报告导出出现异常,异常信息为{}", e); } @@ -231,15 +244,15 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -251,27 +264,27 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ - approvalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); + if (!CollectionUtils.isEmpty(businessKeys)) { + approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ - rejectApprovalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { + rejectApprovalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -279,7 +292,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.CANCELED); } break; @@ -288,10 +301,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleAllApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), AllApproveList); } break; @@ -299,9 +312,26 @@ return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List allApproveList) { - Map taskMap = new HashMap<>(); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + /** + * 客户、样品详情列表 + */ + @Override + public Page certificateRecordsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception { + Page page = PageFactory.defaultPage(); + Page certificateResponsePage = this.baseMapper.certificateRecordsById(page, customerSampleIdRequest); + for (CertificationResponse customerSampleListResponse : certificateResponsePage.getRecords()) { + if (!StringUtils.isEmpty(customerSampleListResponse.getCertificationClass())) { + DictCodeUtils.convertDictMultiCodeToName(customerSampleListResponse); + } + } + return certificateResponsePage; + } + + private List handleAllApprovalListResponse(List approvalList, List allApproveList) { + Map taskMap = new HashMap<>(); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -313,7 +343,7 @@ return approvalList.stream().sorted(Comparator.comparing(CertificateReportResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, String status){ + private List handleApprovalListResponse(List approvalList, String status) { approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); @@ -324,14 +354,14 @@ private void initCertificateReport(BusinessCertificateReport certificateReport) { String prefix = MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue() - +DateUtil.format(new Date(),"YYYYMM"); + + DateUtil.format(new Date(), "YYYYMM"); Long maxNo = this.baseMapper.selectMaxCode(prefix); //生成证书编号 - String certificateReportNo =NumberGeneratorUtil.getCode( - MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(),maxNo); + String certificateReportNo = NumberGeneratorUtil.getCode( + MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(), maxNo); AuthUser authUser = ShiroKit.getUser(); certificateReport.setCreateUser(authUser.getId()); - certificateReport.setMeasurePersonId(authUser.getId()+""); + certificateReport.setMeasurePersonId(authUser.getId() + ""); certificateReport.setMeasureDeptId(authUser.getDeptId()); certificateReport.setCertificateReportCode(certificateReportNo); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index c4ed5f6..5456773 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -12,13 +12,12 @@ import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; import com.casic.missiles.mapper.business.EnvironmentListResponseMapper; import com.casic.missiles.model.business.BusinessEnvironmentRecord; -import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 859010b..0d847a0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessInterchangeMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; @@ -35,7 +36,7 @@ * 业务管理-设备交接单 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @@ -83,7 +84,7 @@ } /** - * 更新不对样品有任何操作 + * 更新只是交接单的变更,没有任何其他单位的变化 */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { @@ -94,6 +95,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 交接单新增,同时在样品委托书管理表中新增交接单记录id + */ @Override @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { @@ -111,6 +115,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 选中判断ids存在,进行其他条件的清空 + */ @Override public void exportExchange(InterchangeListRequest request, HttpServletResponse response) { try { @@ -153,7 +160,7 @@ private void populationExchange(BusinessInterchange businessInterchange) { Long maxNo = this.baseMapper.selectMaxExchangeNo(); - String orderNo = NumberGeneratorUtil.getContactNo("jjdh", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.INTER_CHANGE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessInterchange.setCreateUser(authUser.getId()); businessInterchange.setInterchangeCode(orderNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java index 585a207..955cc7a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java @@ -13,19 +13,18 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.*; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.HandOutPropertyEnum; -import com.casic.missiles.enums.MeasureStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.HandOutPropertyEnum; +import com.casic.missiles.enums.business.MeasureStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.*; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; -import com.casic.missiles.model.business.BusinessLabExecutiveInfo; -import com.casic.missiles.model.business.BusinessLabExecutiveOperateLog; -import com.casic.missiles.model.business.BusinessLabExecutiveTemplateInfo; +import com.casic.missiles.model.business.*; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; import com.casic.missiles.service.business.IBusinessLabExecutiveTemplateInfoService; @@ -71,6 +70,8 @@ private AbstractDictService dictService; @Autowired private MeterStaffMapper staffMapper; + @Autowired + private BusinessOrderMapper orderMapper; @Override public Page handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) throws Exception{ @@ -377,7 +378,9 @@ if(CollectionUtils.isEmpty(unExecutiveInfos)){ //更新样品状态为检测完 orderSampleRelationMapper.updateByOrderIdAndSampleId(pre.getOrderId(), pre.getSampleId(), SampleStatusEnum.MEASURE_COMPLETE); - // TODO: 2023/2/17 委托书中所有样品检测完更新委托书接收状态为检测完成,需求待定 + + //委托书中所有样品检测完更新委托书接收状态为检测完成,未检测完的数量为0则表示全部检完 + updateOrderStatusComplete(pre); //将检测记录加入到实验室检测模板(仅全部为检测完成的才加入到模板,包含终止的不会加入) List labList = new ArrayList<>(); @@ -407,9 +410,27 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + @Transactional + public void updateOrderStatusComplete(SampleOperateRequest pre) { + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("order_id", pre.getOrderId()); + List statusList = new ArrayList<>(); + statusList.add(SampleStatusEnum.TO_RECEIVE); + statusList.add(SampleStatusEnum.TO_HANDOUT); + statusList.add(SampleStatusEnum.IN_MEASURE); + wrapper1.in("sample_status", statusList); + //同一事务中可查到更新后的数量 + if(orderSampleRelationMapper.selectCount(wrapper1) == 0){ + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(pre.getOrderId()); + businessOrder.setStatus(OrderStatusEnum.COMPLETE); + orderMapper.updateById(businessOrder); + } + } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + String templateCode = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.LAB_EXECUTIVE_TEMPLATE_PREFIX, maxNo + i); templateInfo.setTemplateCode(templateCode); // templateInfo.setSampleTypeId(); templateInfo.setSampleId(lab.getSampleId()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index f5c6f61..1d63554 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -14,6 +14,10 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; +import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; @@ -35,7 +39,6 @@ import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -45,12 +48,12 @@ * 业务管理-委托书 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @AllArgsConstructor -public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { +public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService,PrefixCodeEnum, OrderStatusEnum,SampleStatusEnum, MeasureTypeEnum { private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; @@ -90,8 +93,10 @@ List customerSampleList = new ArrayList<>(); for (BusinessOrderSampleRelation orderSample : orderSampleList) { CustomerSampleInfo customerSampleInfo = customerSampleService.sampleDetail(orderSample.getSampleId()); - customerSampleInfo.setIsExistSample("1"); - customerSampleList.add(customerSampleInfo); + if (null != customerSampleInfo) { + customerSampleInfo.setIsExistSample("1"); + customerSampleList.add(customerSampleInfo); + } } businessOrder.setCustomerSampleInfoList(customerSampleList); return businessOrder; @@ -202,7 +207,13 @@ @Override public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); - String dealType = "委托书" + ((status.equals("2")) ? "接收" : "退回"); + String dealType = ""; + if (status.equals(ALREADY_RECEIVED)) { + dealType = "委托书接收" ; + doUpdateSampleStatus(orderCancelRequest.getId(),TO_RECEIVE); + } else { + dealType = "委托书退回"; + } int addDealRecordFlag = addDealRecord(orderCancelRequest, dealType); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -216,7 +227,7 @@ @Override @Transactional public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { - int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), ALREADY_CANCEL); int addDealRecordFlag = addDealRecord(orderCancelRequest, "委托书取消"); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -250,6 +261,7 @@ return dealRecordMapper.insert(businessDealRecord); } + /** * 强调正在做状态更新 */ @@ -280,12 +292,12 @@ private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); - String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(ORDER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); - businessOrder.setStatus("1"); + businessOrder.setStatus(NOT_RECEIVED); } /** @@ -320,10 +332,23 @@ sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); - sampleStatusPopulation.setMeasureType("1"); + sampleStatusPopulation.setMeasureType(INSIDE_MEASURE); return this.sampleRelationMapper.insert(sampleStatusPopulation); } + /** + * 强调正在做状态更新 + */ + private int doUpdateSampleStatus(Long orderId, String sampleStatus) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", orderId); + BusinessOrderSampleRelation orderSample = new BusinessOrderSampleRelation(); + orderSample.setId(orderId); + orderSample.setSampleStatus(sampleStatus); + return this.sampleRelationMapper.update(orderSample, queryWrapper); + } + + private void doSampleListPopulation(BusinessOrder businessOrder) { businessOrder.getCustomerSampleInfoList().forEach( customerSampleInfo -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java index 1e35b7a..1c602b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java @@ -131,7 +131,7 @@ @Override public ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord) { - if (this.baseMapper.insert(businessOriginalRecord) > 0) { + if (this.baseMapper.updateById(businessOriginalRecord) > 0) { //加入技术文件绑定 if (ObjectUtil.isNotEmpty(businessOriginalRecord.getFileList()) && businessOriginalRecord.getFileList().size() > 0) { originalRecordFileRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getFileList()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java index 07c88e9..c9c1902 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.date.DateUtil; import com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -14,6 +15,7 @@ import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; @@ -29,6 +31,7 @@ import org.springframework.util.ObjectUtils; import javax.servlet.http.HttpServletResponse; +import java.util.Date; import java.util.List; import java.util.Objects; import java.util.Optional; @@ -39,7 +42,7 @@ @Service @Slf4j @AllArgsConstructor -public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService { +public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService, SampleStatusEnum, CurrentSegmentEnum, MeasureTypeEnum { private final BusinessOrderSampleRelationMapper orderSampleRelationMapper; private final BusinessCertificateReportMapper certificateReportMapper; @@ -73,20 +76,20 @@ Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.TO_HANDOUT: + case TO_HANDOUT: //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 - case SampleStatusEnum.IN_MEASURE: + case IN_MEASURE: //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.MEASURE_COMPLETE: + case MEASURE_COMPLETE: doDispatchVoPopulation(dispatchVO, sampleId, orderId); return; //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 - case SampleStatusEnum.BE_OVERDUE: + case BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); @@ -126,12 +129,14 @@ /** - * 状态更新 + * 根据sampleId,orderId,进行状态更新 */ @Override + @Transactional public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { + boolean beforeEventFlag = beforeStatusChange(deviceStatusChangeDTO); Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFlag > 0) { + if (updateFlag > 0 && beforeEventFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -181,8 +186,9 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); +// queryWrapper.ne("order_id", deviceStatusChangeDTO.getOrderId()); BusinessLabExecutiveInfo businessLabExecutiveInfo = new BusinessLabExecutiveInfo(); - businessLabExecutiveInfo.setMeasureStatus(deviceStatusChangeDTO.getStatus()); +// businessLabExecutiveInfo.setMeasureStatus(); businessLabExecutiveInfo.setRemark(deviceStatusChangeDTO.getReason()); labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } @@ -214,6 +220,9 @@ return handOutLabExecutiveDTOOptional.orElse(null); } + /** + * 构建证书的查询条件 + */ private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("order_id", dispatchVO.getOrderId()); @@ -230,7 +239,8 @@ queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); if (terminateFlag) { - queryWrapper.eq("sample_status", "2").or().eq("sample_status", "3").or().eq("sample_status", "4"); + //若是终止,需要对应待分发、检测中、检测完三个状态的变更 + queryWrapper.eq("sample_status", TO_HANDOUT).or().eq("sample_status", IN_MEASURE).or().eq("sample_status", MEASURE_COMPLETE); } BusinessOrderSampleRelation businessOrderSampleRelation = new BusinessOrderSampleRelation(); businessOrderSampleRelation.setSampleStatus(statusChangeDTO.getStatus()); @@ -238,12 +248,12 @@ } /** - * 判断不是自检 + * 判断不是自检,即外包和外检,进行环节设定 */ private boolean notSelfMeasure(DeviceDispatchVO dispatchVO) { if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType())) { - if (MeasureStatusEnum.TO_ALLOCATE.equals(String.valueOf(dispatchVO.getMeasureType())) || MeasureStatusEnum.TO_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { - String currentSegment = MeasureStatusEnum.TO_ALLOCATE.equals(dispatchVO.getMeasureType()) ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; + if (OTHERS_UNDERTAKE.equals(String.valueOf(dispatchVO.getMeasureType())) || OUTSIDE_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { + String currentSegment = OTHERS_UNDERTAKE.equals(dispatchVO.getMeasureType()) ? OUT_UNDERTAKE : OUT_MESASUR; dispatchVO.setCurrentSegment(currentSegment); return true; } @@ -251,6 +261,9 @@ return false; } + /** + * 其他条件的置为空 + */ private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { request.setSampleName(null); request.setSampleNo(null); @@ -264,18 +277,38 @@ } /** - * 判断样品是完成或接收状态,直接显示即可 + * 判断样品是完成或接收状态,进行当前阶段环节的设置 */ private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { - if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + if (TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_INCOME); return true; } - if (SampleStatusEnum.TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); + if (TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_ALLOCATE); return true; } return false; } + private boolean beforeStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(TO_INCOME)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + List orderSampleRelationList = this.orderSampleRelationMapper.selectList(queryWrapper); + Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); + if (orderSampleRelationOptional.isPresent()) { + BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); + if (businessOrderSampleRelation.getSampleStatus().equals(TO_ALLOCATE)) { + BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); + businessOrderSample.setRealDeliverTime(DateUtil.format(new Date(), "yyyy-MM-dd")); + int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); + return updateFlag > 0 ? true : false; + } + } + } + return true; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java index 4f06678..e2fea21 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerAdviceMapper; import com.casic.missiles.mapper.customer.CustomerMapper; @@ -34,7 +35,7 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerAdviceServiceImpl implements CustomerAdviceService { +public class CustomerAdviceServiceImpl implements CustomerAdviceService,PrefixCodeEnum { private final CustomerAdviceMapper customerAdviceMapper; private final IBaseExportService iBaseExportService; @@ -122,7 +123,7 @@ private void initCustomerAdviceInfo(CustomerAdviceInfo customerAdviceInfo) { Long maxNo = customerAdviceMapper.selectMaxAdviceNo(); - String adviceNo = NumberGeneratorUtil.getContactNo("khjy", maxNo); + String adviceNo = NumberGeneratorUtil.getContactNo(CUSTOMER_ADVICE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerAdviceInfo.setCreateUser(authUser.getId()); customerAdviceInfo.setUpdateUser(authUser.getId()); 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 4889e55..f9747dd 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 @@ -10,18 +10,19 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.sample.CertificationExpireStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; import com.casic.missiles.mapper.customer.CustomerMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerSampleListResponseMapper; import com.casic.missiles.mapper.customer.CustomerSampleMapper; -import com.casic.missiles.mapper.customer.customize.MesureRecordsResponseMapper; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -42,13 +43,11 @@ @Service @AllArgsConstructor -public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService { +public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService, CertificationExpireStatusEnum,PrefixCodeEnum{ private final CustomerSampleListResponseMapper customerSampleListResponseMapper; private final CustomerMapper customerMapper; private final IBaseExportService iBaseExportService; - private final CertificationResponseMapper certificationResponseMapper; - private final MesureRecordsResponseMapper mesureResponseMapper; private final BusinessOrderSampleRelationMapper sampleRelationMapper; @Override @@ -58,14 +57,14 @@ customerSamplePage.getRecords() .forEach(customerSample -> { BusinessOrderSampleRelation businessOrderSampleRelation = this.getSampleStatusById(customerSample.getId()); + customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); - customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); } }); for (CustomerSampleListResponse customerSampleListResponse : customerSamplePage.getRecords()) { - if (!StringUtils.isEmpty(customerSampleListResponse.getSampleSatus())) { + if (!StringUtils.isEmpty(customerSampleListResponse.getSampleStatus())) { DictCodeUtils.convertDictCodeToName(customerSampleListResponse); } } @@ -106,14 +105,13 @@ public CustomerSampleInfo sampleDetail(Long id) { CustomerSampleInfo customerSampleInfo = this.baseMapper.selectById(id); if (!ObjectUtils.isEmpty(customerSampleInfo)) { - doCustomerSampleInfoPopulation(customerSampleInfo); + doPopulateCustomerSampleInfo(customerSampleInfo); } return customerSampleInfo; } /** * 只导出样品列表信息 - * */ @Override public void sampleExport(CustomerSampleListRequest request, HttpServletResponse response) { @@ -135,7 +133,7 @@ BusinessOrderSampleRelation businessOrderSampleRelation = businessOrderMap.get(customerSample.getId()); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); } } @@ -159,26 +157,16 @@ } @Override - public Page measureRecordsBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page measureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); + public Page measureRecordsById(CustomerSampleIdRequest customerSampleIdRequest) { + Page page = PageFactory.defaultPage(); + Page measureRecordsResponsePage = this.baseMapper.measureRecordsById(page, customerSampleIdRequest); return measureRecordsResponsePage; } - @Override - public Page certificationBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page certificateResponsePage = certificationResponseMapper.selectPage(page, wrapper); - return certificateResponsePage; - } @Override - public Page samplesByOderId(Page page,Long orderId, String sampleNo, String sampleName) { - return this.baseMapper.samplesByOderId(page,orderId,sampleNo,sampleName); + public Page samplesByOderId(Page page, Long orderId, String sampleNo, String sampleName) { + return this.baseMapper.samplesByOderId(page, orderId, sampleNo, sampleName); } private BusinessOrderSampleRelation getSampleStatusById(Long sampleId) { @@ -190,9 +178,12 @@ return orderSampleOptional.isPresent() ? orderSampleOptional.get() : null; } + /** + * 初始化样品状态 + */ private void initSample(CustomerSampleInfo customerSampleInfo) { Long maxNo = this.baseMapper.selectMaxSampleNo(); - String sampleNo = NumberGeneratorUtil.getContactNo("khyp", maxNo); + String sampleNo = NumberGeneratorUtil.getContactNo(SAMPLE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setSampleNo(sampleNo); customerSampleInfo.setCreateUser(authUser.getId()); @@ -202,7 +193,6 @@ private QueryWrapper listParamWrapper(CustomerSampleListRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.select("id,sample_no,sample_name,sample_model,manufacturing_no,customer_id,measure_period,measure_last_time,remark,valid_deadline"); queryWrapper.like(StringUtils.isNotBlank(request.getSampleNo()), "sample_no", request.getSampleNo()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleName()), "sample_name", request.getSampleName()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleBelong()), "sample_belong", request.getSampleBelong()); @@ -210,9 +200,10 @@ queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); if (!StringUtils.isEmpty(request.getOvertimeStatus())) { - queryWrapper.apply(request.getOvertimeStatus().equals("1"), + queryWrapper.apply("1".equals(request.getOvertimeStatus()), + "sysdate() > DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); - queryWrapper.apply(request.getOvertimeStatus().equals("0"), + queryWrapper.apply("0".equals(request.getOvertimeStatus()), "sysdate() <= DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); } queryWrapper.apply(StringUtils.isNotBlank(request.getStartTime()), @@ -224,24 +215,30 @@ return queryWrapper; } + /** + * 通过证书到期时间进行到期状态的计算 + */ private String calculateCertificationStatus(String validDeadline) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if (StringUtils.isEmpty(validDeadline)) { - return "0"; + return NORMAL; } - if (validDeadline.compareTo(sdf.format(new Date())) > 0) { - return "2"; + if (validDeadline.compareTo(sdf.format(new Date())) < 0) { + return ALREADY_EXPIRE; } Calendar date = Calendar.getInstance(); date.setTime(new Date()); date.add(Calendar.DAY_OF_MONTH, -30); - if (validDeadline.compareTo(sdf.format(date.getTime())) > 0) { - return "1"; + if (validDeadline.compareTo(sdf.format(date.getTime())) < 0) { + return ALMOST_EXPIRE; } - return "0"; + return NORMAL; } - private void doCustomerSampleInfoPopulation(CustomerSampleInfo customerSampleInfo) { + /** + * 对样品列表的进行供应商联系方式的填充 + */ + private void doPopulateCustomerSampleInfo(CustomerSampleInfo customerSampleInfo) { CustomerInfo customerInfo = customerMapper.selectById(customerSampleInfo.getCustomerId()); if (!ObjectUtils.isEmpty(customerInfo)) { customerSampleInfo.setPhone(customerInfo.getPhone()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java index 32d4dee..f6e1f8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java @@ -11,13 +11,12 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerMapper; import com.casic.missiles.mapper.customer.CustomerUserMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerInfoResponseMapper; import com.casic.missiles.mapper.customer.customize.SampleRecordsResponseMapper; import com.casic.missiles.model.customer.CustomerInfo; @@ -38,11 +37,10 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerServiceImpl extends ServiceImpl implements CustomerService { +public class CustomerServiceImpl extends ServiceImpl implements CustomerService,PrefixCodeEnum { private final SampleRecordsResponseMapper sampleRecordsResponseMapper; private final CustomerUserMapper customerUserMapper; - private final CertificationResponseMapper certificationMapper; private final IBaseExportService iBaseExportService; private final CustomerInfoResponseMapper customerInfoResponseMapper; @@ -126,18 +124,9 @@ return contractRecordsResponsePage; } - @Override//暂定不做 - public Page mesureRecordsByCustomerId(Long customerId) { - Page measureRecordsResponsePage = PageFactory.defaultPage(); - return measureRecordsResponsePage; - } - @Override public Page certificationByCustomerId(Long customerId) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("customer_id", customerId); - return certificationMapper.selectPage(page, wrapper); + return null; } @Override @@ -163,8 +152,7 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); - queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "bussiness_size", request.getBusinessSize()); - queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); + queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "business_size", request.getBusinessSize()); queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); queryWrapper.eq("is_del", 0); return queryWrapper; @@ -172,7 +160,7 @@ private void initCustomerInfo(CustomerInfo customerInfo) { Long maxNo = this.baseMapper.selectMaxCustomerNo(); - String customerNo = NumberGeneratorUtil.getContactNo("khxx", maxNo); + String customerNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CUSTOMER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerInfo.setCreateUser(authUser.getId()); customerInfo.setUpdateUser(authUser.getId()); @@ -196,7 +184,7 @@ boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { customerUserInfo.setCustomerId(id); - String customerNo = NumberGeneratorUtil.getContactNo("khyh", maxUserNo++); + String customerNo = NumberGeneratorUtil.getContactNo(CUSTOMER_USER_PREFIX, maxUserNo++); customerUserInfo.setUserNo(customerNo); int userAddNum = customerUserMapper.insert(customerUserInfo); if (userAddNum <= 0) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java index d81a488..77e4caf 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java @@ -13,9 +13,10 @@ import com.casic.missiles.dto.equipment.AcceptanceCheckRequest; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentAcceptanceCheckMapper; @@ -183,7 +184,7 @@ public ReturnDTO addAcceptanceCheck(EquipmentApply equipmentApply) { Long maxNo = equipmentApplyMapper.selectMaxNo(); // 生成编号 - String applyNo = NumberGeneratorUtil.getContactNo("sbjxbyysd", maxNo); + String applyNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.REPAIR_MAINTAIN_PREFIX, maxNo); equipmentApply.setApplyNo(applyNo); // 草稿箱状态 equipmentApply.setApprovalStatus(ApprovalStatusEnum.DRAFT); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java index 38ad4e9..d468012 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java @@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.base.service.IBaseExportService; -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.IdDTO; @@ -20,6 +19,9 @@ import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java index 7c4fdbc..e6a1ff8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.equipment.CheckInfoRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoFileMapper; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoMapper; @@ -79,7 +80,7 @@ @Transactional public ReturnDTO addCheckInfo(EquipmentCheckInfo equipmentCheckInfo) { long maxNo = equipmentCheckInfoMapper.selectMaxNo(); - String checkNo = NumberGeneratorUtil.getContactNo("jc", maxNo); + String checkNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CHECK_PREFIX, maxNo); equipmentCheckInfo.setCheckNo(checkNo); if(equipmentCheckInfoMapper.insert(equipmentCheckInfo) > 0){ Long id = equipmentCheckInfo.getId(); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java index ba6a600..7ff9c16 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.equipment; -import cn.hutool.core.io.unit.DataUnit; import com.alibaba.excel.util.DateUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -13,7 +12,8 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.FixedAssetRequest; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentFixedAssetFileMapper; @@ -131,7 +131,7 @@ validManufacturingNo(meterFixedAssets); //生成资产编号 Long maxNo = meterFixedAssetsMapper.selectMaxNo(); - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); meterFixedAssets.setAssetNo(asset_no); meterFixedAssets.setEquipmentNo(asset_no); meterFixedAssetsMapper.insert(meterFixedAssets); @@ -164,7 +164,7 @@ //需要根据出厂编号判重 validManufacturingNo(item); //生成资产编号 - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); item.setAssetNo(asset_no); item.setEquipmentNo(asset_no); maxNo++; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java index 3e63a5a..2b29aa7 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java @@ -18,6 +18,8 @@ import com.casic.missiles.dto.equipment.StandardEquipmentApplyRequest; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.StandardApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java index caa63a7..afa6905 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java @@ -10,9 +10,9 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.StandardEquipmentRequest; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentFileMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentMapper; -import com.casic.missiles.model.equipment.EquipmentApply; import com.casic.missiles.model.equipment.EquipmentStandardEquipment; import com.casic.missiles.model.equipment.EquipmentStandardEquipmentFile; import com.casic.missiles.model.page.PageQuery; @@ -74,7 +74,7 @@ public ReturnDTO add(EquipmentStandardEquipment meterStandardEquipment) { //生成资产编号 Long maxNo = meterStandardEquipmentMapper.selectMaxNo(); - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); meterStandardEquipment.setStandardNo(standard_no); meterStandardEquipmentMapper.insert(meterStandardEquipment); // 插入文件列表 @@ -129,7 +129,7 @@ } DictCodeUtils.validDictCode(item); //生成资产编号 - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); item.setStandardNo(standard_no); maxNo++; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java index 481cf64..b749b2e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java @@ -2,7 +2,6 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.dto.IdDTO; @@ -12,7 +11,7 @@ import com.casic.missiles.dto.equipment.StateManageResponse; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java index 5dd6f8e..e566e01 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.EquipmentWorkbenchResponse; -import com.casic.missiles.enums.ApplyFromIdEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java index f3b9c4f..485287a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java @@ -6,7 +6,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.system.dao.DeptMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java index ce076b0..c20feb0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java @@ -4,7 +4,6 @@ import cn.hutool.core.lang.Assert; import cn.hutool.core.util.ObjectUtil; import com.alibaba.excel.util.DateUtils; -import com.alibaba.excel.util.StringUtils; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -22,18 +21,18 @@ import com.casic.missiles.dto.meter.MeterCertificateImport; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.enums.*; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterRoleTypeEnum; +import com.casic.missiles.enums.workbench.MessageTypeEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.meter.MeterCertificateExpireMessageMapper; import com.casic.missiles.mapper.meter.MeterCertificateMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.sys.UserInfoMapper; import com.casic.missiles.mapper.workbench.WorkbenchRemindMessageMapper; import com.casic.missiles.model.meter.MeterCertificate; -import com.casic.missiles.model.meter.MeterCertificateExpireMessage; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.model.system.UserInfo; import com.casic.missiles.model.workbench.WorkbenchRemindMessage; -import com.casic.missiles.service.meter.MeterCertificateExpireMessageService; import com.casic.missiles.service.meter.MeterCertificateService; import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; import com.casic.missiles.utils.ExportUtils; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java index ecf1fc3..e84f4d6 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java @@ -17,10 +17,11 @@ import com.casic.missiles.dto.meter.FileApprovalListResponse; import com.casic.missiles.dto.meter.FileListRequest; import com.casic.missiles.dto.meter.FileSaveResponse; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EffectiveStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.EffectiveStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterFileMapper; import com.casic.missiles.model.meter.MeterFile; @@ -92,7 +93,7 @@ public ReturnDTO saveFile(MeterFile file) { //生成文件编号 Long maxNo = meterFileMapper.selectMaxFileNo(); - String fileNo = NumberGeneratorUtil.getContactNo("jlwj", maxNo); + String fileNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FILE_PREFIX, maxNo); file.setFileNo(fileNo); file.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 Assert.isFalse(Objects.isNull(ShiroKit.getUser()), () -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java index 000e58a..467f03d 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java @@ -10,7 +10,8 @@ import com.casic.missiles.dto.meter.ParentDeptRequest; import com.casic.missiles.dto.meter.ParentDeptResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.model.meter.MeterOrganize; @@ -101,7 +102,7 @@ public int addOrganize(Dept dept) { //生成组织编号 Long maxNo = organizeMapper.selectMaxOrganizeNo(); - String organizeNo = NumberGeneratorUtil.getContactNo("jlzz", maxNo); + String organizeNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.ORGANIZE_PREFIX, maxNo); MeterOrganize meterOrganize = new MeterOrganize(); meterOrganize.setDeptId(dept.getId()); meterOrganize.setPDeptId(dept.getPid()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java index 7c3f9cf..643ba4c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java @@ -13,7 +13,8 @@ import com.casic.missiles.dto.meter.MeterPriceRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterPriceCategoryMapper; import com.casic.missiles.mapper.meter.MeterPriceItemMapper; @@ -83,7 +84,7 @@ MeterPriceItem item = new MeterPriceItem(null,priceCategory.getId(),meterPrice.getItemName()); if(categoryFlag>0 && meterPriceItemMapper.insert(item)>0){ Long maxNo = meterPriceMapper.getMaxNo(); - String priceNo = NumberGeneratorUtil.getContactNo("jg", maxNo); + String priceNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.PRICE_PREFIX, maxNo); meterPrice.setPriceNo(priceNo); meterPrice.setPriceType(priceCategory.getId().toString()); meterPrice.setPriceItem(item.getId().toString()); @@ -178,7 +179,7 @@ // 校验通过 AtomicLong maxNo = new AtomicLong(meterPriceMapper.getMaxNo()); list.forEach(bean->{ - String priceNo = NumberGeneratorUtil.getContactNo("jg", maxNo.get()); + String priceNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.PRICE_PREFIX, maxNo.get()); maxNo.set(Long.parseLong(priceNo.substring(2))); Long id= IdWorker.getId(); bean.setId(id); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java index 7c4a1a1..f79bb8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java @@ -15,7 +15,8 @@ import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterCertificateMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; @@ -42,7 +43,6 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; -import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.concurrent.atomic.AtomicBoolean; @@ -139,7 +139,7 @@ } long maxNo = meterStaffMapper.getMaxNo(); meterStaff.setIsDel(0); - String staffNo = NumberGeneratorUtil.getContactNo("jlry", maxNo); + String staffNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STAFF_PREFIX, maxNo); meterStaff.setStaffNo(staffNo); if(meterStaffMapper.insert(meterStaff)>0){ Long id = meterStaff.getId(); @@ -263,7 +263,7 @@ AtomicLong maxNo = new AtomicLong(meterStaffMapper.getMaxNo()); list.forEach(bean->{ // 生成编号 - String staffNo = NumberGeneratorUtil.getContactNo("jlry", maxNo.get()); + String staffNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STAFF_PREFIX, maxNo.get()); maxNo.set(Long.parseLong(staffNo.substring(4))); bean.setStaffNo(staffNo); // 获取id diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java index 535581f..0beebb1 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java @@ -14,9 +14,10 @@ import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.meter.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterTraceSupplierMapper; import com.casic.missiles.model.meter.MeterTraceSupplier; @@ -92,7 +93,7 @@ public ReturnDTO saveTraceSupplier(MeterTraceSupplier traceSupplier) { //生成编号 Long maxNo = traceSupplierMapper.selectMaxSupplierNo(); - String supplierNo = NumberGeneratorUtil.getContactNo("sygf", maxNo); + String supplierNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.TRACE_SUPPLIER_PREFIX, maxNo); traceSupplier.setSupplierNo(supplierNo); traceSupplier.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 Assert.isFalse(Objects.isNull(ShiroKit.getUser()), () -> { @@ -106,7 +107,7 @@ //存储溯源供方人员信息 boolean saveBatchFlag = true; List traceSupplierPersonList = traceSupplier.getTraceSupplierPersonList(); - if(!CollectionUtils.isEmpty(traceSupplierPersonList)){ + if (!CollectionUtils.isEmpty(traceSupplierPersonList)) { traceSupplierPersonList.forEach(person -> { person.setSupplierId(traceSupplier.getId()); }); @@ -119,7 +120,7 @@ //存储溯源供方标准装置信息 boolean saveBatchFlag2 = true; List standardEquipmentIds = traceSupplier.getStandardEquipmentIds(); - if(!CollectionUtils.isEmpty(standardEquipmentIds)){ + if (!CollectionUtils.isEmpty(standardEquipmentIds)) { List equipmentList = new ArrayList<>(); standardEquipmentIds.forEach(id -> { MeterTraceSupplierStandardEquipment equipment = new MeterTraceSupplierStandardEquipment(); @@ -154,7 +155,7 @@ traceSupplierPersonService.remove(wrapper); boolean saveFlag = true; //溯源供方人员可能为空 - if(!CollectionUtils.isEmpty(traceSupplierPersonList)){ + if (!CollectionUtils.isEmpty(traceSupplierPersonList)) { //再增加 traceSupplierPersonList.forEach(person -> { person.setSupplierId(traceSupplier.getId()); @@ -169,7 +170,7 @@ meterTraceSupplierStandardEquipmentService.remove(wrapper1); boolean saveBatchFlag2 = true; List standardEquipmentIds = traceSupplier.getStandardEquipmentIds(); - if(!CollectionUtils.isEmpty(standardEquipmentIds)){ + if (!CollectionUtils.isEmpty(standardEquipmentIds)) { List equipmentList = new ArrayList<>(); standardEquipmentIds.forEach(id -> { MeterTraceSupplierStandardEquipment equipment = new MeterTraceSupplierStandardEquipment(); @@ -195,10 +196,10 @@ String formId = request.getFormId(); ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); MeterTraceSupplier traceSupplier = new MeterTraceSupplier(); traceSupplier.setId(request.getId()); @@ -225,9 +226,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //本地删除 - if(traceSupplierMapper.deleteById(request.getId()) > 0){ + if (traceSupplierMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -267,16 +268,16 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -288,7 +289,7 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.IN_APPROVED); } @@ -296,7 +297,7 @@ //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.PASSED); } @@ -305,12 +306,12 @@ case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { List rejectList = traceSupplierMapper.selectBatchForApproval(page, request, rejectBusinessKey); rejectApprovalList = handleApprovalListResponse(approvalList, rejectList, ApprovalStatusEnum.FAILED_REJECT); } @@ -320,7 +321,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.CANCELED); } @@ -330,10 +331,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleAllApprovalListResponse(approvalList, list, AllApproveList); } @@ -343,9 +344,11 @@ } private List handleAllApprovalListResponse(List approvalList, List list, List allApproveList) { - Map taskMap = new HashMap<>(); + Map taskMap = new HashMap<>(); approvalList = ConvertUtils.sourceToTarget(list, TraceSupplierApprovalListResponse.class); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -369,7 +372,7 @@ @Override public ReturnDTO deleteTraceSupplier(Long id) { - if(traceSupplierMapper.deleteById(id) > 0){ + if (traceSupplierMapper.deleteById(id) > 0) { return ReturnUtil.success(); } return ReturnUtil.failed("刪除失败"); @@ -377,7 +380,7 @@ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - if(traceSupplierMapper.deleteBatchIds(ids) > 0){ + if (traceSupplierMapper.deleteBatchIds(ids) > 0) { return ReturnUtil.success(); } return ReturnUtil.failed("删除失败"); @@ -400,6 +403,7 @@ wrapper.eq("id", 12344321); return wrapper; } + wrapper.like(StringUtils.isNotBlank(request.getSupplierNo()), "supplier_no", request.getSupplierNo()); wrapper.like(StringUtils.isNotBlank(request.getSupplierName()), "supplier_name", request.getSupplierName()); wrapper.like(StringUtils.isNotBlank(request.getBusinessContent()), "business_content", request.getBusinessContent()); @@ -409,7 +413,7 @@ return wrapper; } - private List handleApprovalListResponse(List approvalList, List list, String status){ + private List handleApprovalListResponse(List approvalList, List list, String status) { approvalList = ConvertUtils.sourceToTarget(list, TraceSupplierApprovalListResponse.class); approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java index 0fd9403..bec30c8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.meter.TrainLogListRequest; import com.casic.missiles.dto.meter.TrainLogUpdateRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterTrainLogMapper; import com.casic.missiles.mapper.meter.MeterTrainStaffMapper; @@ -58,7 +59,7 @@ public ReturnDTO addTrainLog(TrainLogAddRequest request) { //生成编号 Long maxNo = trainLogMapper.selectMaxTrainLogNo(); - String logNo = NumberGeneratorUtil.getContactNo("pxjl", maxNo); + String logNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.TRAIN_LOG_PREFIX, maxNo); MeterTrainLog meterTrainLog = ConvertUtils.sourceToTarget(request, MeterTrainLog.class); meterTrainLog.setLogNo(logNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java index e4f4dcb..e3d0750 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java @@ -14,9 +14,10 @@ import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.meter.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.meter.MeterTrainPlanMapper; @@ -98,7 +99,7 @@ public ReturnDTO saveTrainPlan(MeterTrainPlan trainPlan) { //生成编号 Long maxNo = trainPlanMapper.selectMaxTrainPlanNo(); - String planNo = NumberGeneratorUtil.getContactNo("pxjh", maxNo); + String planNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.TRAIN_PLAN_PREFIX, maxNo); trainPlan.setPlanNo(planNo); trainPlan.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 Assert.isFalse(Objects.isNull(ShiroKit.getUser()), () -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterWorkbenchServiceImpl.java index 663d024..921ae71 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterWorkbenchServiceImpl.java @@ -10,8 +10,8 @@ import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.dto.meter.MeterWorkbenchRequest; import com.casic.missiles.dto.meter.MeterWorkbenchResponse; -import com.casic.missiles.enums.ExamResultEnum; -import com.casic.missiles.enums.MeterRoleTypeEnum; +import com.casic.missiles.enums.meter.ExamResultEnum; +import com.casic.missiles.enums.meter.MeterRoleTypeEnum; import com.casic.missiles.mapper.meter.MeterCertificateMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.meter.MeterTrainPlanMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java index 163c77f..5d76a52 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.system.FlowListRequest; import com.casic.missiles.dto.system.FlowProcDefDTO; import com.casic.missiles.dto.system.FlowUpdateStateRequest; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.FlowDefMapper; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java index dcebbbd..f59ae28 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.system.NoticeAddRequest; import com.casic.missiles.dto.system.NoticeListRequest; import com.casic.missiles.dto.system.NoticeReadRequest; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.system.SystemNoticeMapper; import com.casic.missiles.mapper.system.SystemNoticeUserRelationMapper; import com.casic.missiles.model.system.SystemNotice; @@ -56,7 +57,7 @@ public ReturnDTO addNotice(NoticeAddRequest noticeAddRequest) { //生成编号 Long maxNo = noticeMapper.selectMaxNoticeNo(); - String noticeNo = NumberGeneratorUtil.getContactNo("tzgg", maxNo); + String noticeNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.NOTICE_PREFIX, maxNo); noticeAddRequest.setNoticeNo(noticeNo); SystemNotice systemNotice = ConvertUtils.sourceToTarget(noticeAddRequest, SystemNotice.class); int insertFlag = noticeMapper.insert(systemNotice); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemSignServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemSignServiceImpl.java index dffd29b..3bc7d81 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemSignServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemSignServiceImpl.java @@ -8,6 +8,7 @@ import com.casic.missiles.dto.system.SignAddRequest; import com.casic.missiles.dto.system.SignDetailResponse; import com.casic.missiles.dto.system.SignListRequest; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.system.SystemSignMapper; import com.casic.missiles.mapper.system.SystemSignUserRelationMapper; import com.casic.missiles.model.system.SystemSign; @@ -72,17 +73,16 @@ public ReturnDTO addSign(SignAddRequest request) { //生成编号 Long maxNo = signMapper.selectMaxSignNo(); - String signNo = NumberGeneratorUtil.getContactNo("qmqz", maxNo); //签名签章编号一起 + String signNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.SIGN_PREFIX, maxNo); //签名签章编号一起 SystemSign systemSign = ConvertUtils.sourceToTarget(request, SystemSign.class); systemSign.setSignNo(signNo); int insertFlag = signMapper.insert(systemSign); //关联表 - //签名无可使用人,签章有可使用人 - boolean saveBatch = true; - if("2".equals(request.getSignType())){ - List userRelationList = getUserRelations(request.getUserIdList(), systemSign.getId()); - saveBatch = userRelationService.saveBatch(userRelationList); - } + //签名/签章可使用人 + List userIdList = request.getUserIdList(); + userIdList.add(request.getSignUserId()); //添加签名本人 + List userRelationList = getUserRelations(userIdList, systemSign.getId()); + boolean saveBatch = userRelationService.saveBatch(userRelationList); if(insertFlag > 0 && saveBatch){ return ReturnUtil.success(); } @@ -94,16 +94,15 @@ public ReturnDTO updateSign(SystemSign systemSign) { int updateFlag = signMapper.updateById(systemSign); //关联表 - //签章有可使用人 - int deleteFlag = 1; - boolean saveBatch = true; - if("2".equals(systemSign.getSignType())){ - Map columnMap = new HashMap<>(); - columnMap.put("sign_id", systemSign.getId()); - deleteFlag = userRelationMapper.deleteByMap(columnMap); - List userRelationList = getUserRelations(systemSign.getUserIdList(), systemSign.getId()); - saveBatch = userRelationService.saveBatch(userRelationList); - } + //签名/签章可使用人 + Map columnMap = new HashMap<>(); + columnMap.put("sign_id", systemSign.getId()); + int deleteFlag = userRelationMapper.deleteByMap(columnMap); + List userIdList = systemSign.getUserIdList(); + userIdList.add(systemSign.getSignUserId()); + List userRelationList = getUserRelations(systemSign.getUserIdList(), systemSign.getId()); + boolean saveBatch = userRelationService.saveBatch(userRelationList); + if(updateFlag > 0 && deleteFlag > 0 && saveBatch){ return ReturnUtil.success(); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemTemplateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemTemplateServiceImpl.java index 8ac39b3..4d6aa00 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemTemplateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemTemplateServiceImpl.java @@ -8,6 +8,7 @@ import com.casic.missiles.dto.system.TemplateAddRequest; import com.casic.missiles.dto.system.TemplateDetailResponse; import com.casic.missiles.dto.system.TemplateListRequest; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.system.SystemTemplateMapper; import com.casic.missiles.mapper.system.SystemTemplateUserRelationMapper; import com.casic.missiles.model.system.SystemTemplate; @@ -66,7 +67,7 @@ public ReturnDTO addTemplate(TemplateAddRequest request) { //生成编号 Long maxNo = templateMapper.selectMaxTemplateNo(); - String templateNo = NumberGeneratorUtil.getContactNo("jlbg", maxNo); //原始记录模板证书报告模板编号一起 + String templateNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.TEMPLATE_PREFIX, maxNo); //原始记录模板证书报告模板编号一起 SystemTemplate systemTemplate = ConvertUtils.sourceToTarget(request, SystemTemplate.class); systemTemplate.setTemplateNo(templateNo); int insertFlag = templateMapper.insert(systemTemplate); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchRemindMessageServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchRemindMessageServiceImpl.java index 58ce952..6f6d1b2 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchRemindMessageServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchRemindMessageServiceImpl.java @@ -61,9 +61,9 @@ wrapper.eq(StringUtils.isNotBlank(request.getMessageType()), "message_type", request.getMessageType()); wrapper.eq("status", 0); wrapper.apply(StringUtils.isNotBlank(request.getStartTime()), - "{0} <= DATE_FORMAT(train_time,'%Y-%m-%d')", request.getStartTime().split(" ")[0]); + "{0} <= DATE_FORMAT(create_time,'%Y-%m-%d')", request.getStartTime().split(" ")[0]); wrapper.apply(StringUtils.isNotBlank(request.getEndTime()), - "{0} >= DATE_FORMAT(train_time,'%Y-%m-%d')", request.getEndTime().split(" ")[0]); + "{0} >= DATE_FORMAT(create_time,'%Y-%m-%d')", request.getEndTime().split(" ")[0]); wrapper.orderByDesc("create_time"); return wrapper; } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java new file mode 100644 index 0000000..e196dda --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Builder; +import lombok.Data; + +/** + * @author cz + */ +@Data +@Builder +public class NotifyEventStatusDTO { + + /** + * 业务表主键 + */ + private String id; + /** + * 业务表状态 + */ + private String status; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java index 65c19e3..0f3e84f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java @@ -74,7 +74,7 @@ /** * 部门/科室/工程组名称 */ - @ExcelProperty("组织编号") + @ExcelProperty("组织名称") @ApiModelProperty(value = "计量组织名称", dataType = "String", required = true) @NotBlank(message = "计量组织名称不能为空") @TableField("organize_name") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java index 54dc5cd..244e431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java @@ -84,7 +84,7 @@ * 签名用户id(一个用户一个签名,签名不使用关联表,签章暂时使用和使用人的关联表) */ @TableField("sign_user_id") - private String signUserId; + private Long signUserId; /** * 签章或签名-字典code diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java index ca20ca4..0e94b9e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 2f97cb3..fdc4bf0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -3,7 +3,6 @@ import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -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; @@ -17,9 +16,10 @@ import com.casic.missiles.dto.flowable.ApprovalAgreeRequest; import com.casic.missiles.dto.flowable.ApprovalRefuseRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -42,10 +42,9 @@ */ @Service @AllArgsConstructor -public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { +public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService, CertificatePrintStatusEnum { private final IBaseApprovalService baseApprovalService; - private final AbstractDictService dictService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; @@ -86,7 +85,7 @@ } /** - * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 * * @return */ @@ -103,7 +102,7 @@ BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); //设置为不能打印 - certificateReport.setPrintStatus("2"); + certificateReport.setPrintStatus(NON_PRINTABLE); certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { @@ -113,7 +112,7 @@ } /** - * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 */ @Transactional @Override @@ -128,7 +127,7 @@ //审批状态为审批中 certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //打印状态审批中 - certificateReport.setPrintStatus("3"); + certificateReport.setPrintStatus(IN_APPROVAL); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -142,7 +141,7 @@ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)&&CollectionUtils.isEmpty(request.getIds())) { - handlerBeApproved(approvalList, page, request); + approvalList=handlerBeApproved(approvalList, page, request); }else { approvalList=this.baseMapper.selectBatchForApprovalList(page, request, null); } 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 d03ab22..164c53a 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,17 +7,22 @@ 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.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; -import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +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.MonitorCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -26,9 +31,9 @@ import com.casic.missiles.service.business.IBusinessCertificateReportService; import com.casic.missiles.service.business.IBusinessOriginalRecordService; import com.casic.missiles.service.flowable.ApprovalOperateService; -import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; +import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.runtime.ProcessInstance; @@ -68,8 +73,10 @@ private RuntimeService runtimeService; @Resource private IBaseExportService iBaseExportService; + /** * 保存证书报告信息 + * * @param certificateReport * @return */ @@ -77,7 +84,7 @@ public ReturnDTO saveCertificateReport(BusinessCertificateReport certificateReport) { initCertificateReport(certificateReport); - if(this.baseMapper.insert(certificateReport)>0) + if (this.baseMapper.insert(certificateReport) > 0) return ReturnUtil.success(); throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -90,9 +97,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //删除数据库记录 - if(this.baseMapper.deleteById(request.getId()) > 0){ + if (this.baseMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -101,7 +108,7 @@ @Override public ReturnDTO draftUpdate(BusinessCertificateReport certificateReport) { - if(this.baseMapper.updateById(certificateReport)>0){ + if (this.baseMapper.updateById(certificateReport) > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -109,25 +116,27 @@ /** * 批量删除 + * * @param ids * @return */ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - return baseMapper.deleteBatchIds(ids) > 0?ReturnUtil.success(): + return baseMapper.deleteBatchIds(ids) > 0 ? ReturnUtil.success() : ReturnUtil.failed("删除失败"); } /** * 证书报告详情 + * * @param id * @return */ @Override public BusinessCertificateReport certificateReportDetail(Long id) { BusinessCertificateReport certificateReport = this.baseMapper.selectById(id); - if(certificateReport.getOriginalRecordId()!=null){ + if (certificateReport.getOriginalRecordId() != null) { try { certificateReport.setBusinessOriginalRecord(originalRecordService.originalDetail(certificateReport.getOriginalRecordId())); } catch (Exception e) { @@ -139,6 +148,7 @@ /** * 提交证书报告 + * * @param request * @return */ @@ -148,10 +158,10 @@ String formId = request.getFormId(); //2.根据流程定义id启动流程实例 ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); certificateReport.setApprovalStatus(ApprovalStatusEnum.UN_DRAFT); //非草稿状态 @@ -165,6 +175,7 @@ /** * 审批状态列表查询 + * * @param page * @param request * @return @@ -182,6 +193,7 @@ /** * 驳回后更新 + * * @param certificateReport * @return */ @@ -208,13 +220,14 @@ @Override public void originExport(CertificateReportApprovalRequest request, HttpServletResponse response) { try { - //toDo: -// List certificateReportResponses = this.certificateReport(request); -// for (OriginRecordResponse originRecordResponse : originExportList) { -// //字典值转换 -// DictCodeUtils.convertDictCodeToName(originRecordResponse); -// } -// iBaseExportService.exportExcel(response, CertificateReportResponse.class, originExportList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); + //登录用户 + AuthUser user = ShiroKit.getUser(); + Assert.isFalse(Objects.isNull(user), () -> { + throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); + }); + request.setCreateUserId(user.getId()); + List reportResponseList = handleApprovalStatus(null, request); + iBaseExportService.exportExcel(response, CertificateReportResponse.class, reportResponseList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); } catch (Exception e) { log.error("证书报告导出出现异常,异常信息为{}", e); } @@ -231,15 +244,15 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -251,27 +264,27 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ - approvalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); + if (!CollectionUtils.isEmpty(businessKeys)) { + approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ - rejectApprovalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { + rejectApprovalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -279,7 +292,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.CANCELED); } break; @@ -288,10 +301,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleAllApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), AllApproveList); } break; @@ -299,9 +312,26 @@ return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List allApproveList) { - Map taskMap = new HashMap<>(); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + /** + * 客户、样品详情列表 + */ + @Override + public Page certificateRecordsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception { + Page page = PageFactory.defaultPage(); + Page certificateResponsePage = this.baseMapper.certificateRecordsById(page, customerSampleIdRequest); + for (CertificationResponse customerSampleListResponse : certificateResponsePage.getRecords()) { + if (!StringUtils.isEmpty(customerSampleListResponse.getCertificationClass())) { + DictCodeUtils.convertDictMultiCodeToName(customerSampleListResponse); + } + } + return certificateResponsePage; + } + + private List handleAllApprovalListResponse(List approvalList, List allApproveList) { + Map taskMap = new HashMap<>(); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -313,7 +343,7 @@ return approvalList.stream().sorted(Comparator.comparing(CertificateReportResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, String status){ + private List handleApprovalListResponse(List approvalList, String status) { approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); @@ -324,14 +354,14 @@ private void initCertificateReport(BusinessCertificateReport certificateReport) { String prefix = MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue() - +DateUtil.format(new Date(),"YYYYMM"); + + DateUtil.format(new Date(), "YYYYMM"); Long maxNo = this.baseMapper.selectMaxCode(prefix); //生成证书编号 - String certificateReportNo =NumberGeneratorUtil.getCode( - MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(),maxNo); + String certificateReportNo = NumberGeneratorUtil.getCode( + MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(), maxNo); AuthUser authUser = ShiroKit.getUser(); certificateReport.setCreateUser(authUser.getId()); - certificateReport.setMeasurePersonId(authUser.getId()+""); + certificateReport.setMeasurePersonId(authUser.getId() + ""); certificateReport.setMeasureDeptId(authUser.getDeptId()); certificateReport.setCertificateReportCode(certificateReportNo); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index c4ed5f6..5456773 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -12,13 +12,12 @@ import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; import com.casic.missiles.mapper.business.EnvironmentListResponseMapper; import com.casic.missiles.model.business.BusinessEnvironmentRecord; -import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 859010b..0d847a0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessInterchangeMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; @@ -35,7 +36,7 @@ * 业务管理-设备交接单 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @@ -83,7 +84,7 @@ } /** - * 更新不对样品有任何操作 + * 更新只是交接单的变更,没有任何其他单位的变化 */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { @@ -94,6 +95,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 交接单新增,同时在样品委托书管理表中新增交接单记录id + */ @Override @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { @@ -111,6 +115,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 选中判断ids存在,进行其他条件的清空 + */ @Override public void exportExchange(InterchangeListRequest request, HttpServletResponse response) { try { @@ -153,7 +160,7 @@ private void populationExchange(BusinessInterchange businessInterchange) { Long maxNo = this.baseMapper.selectMaxExchangeNo(); - String orderNo = NumberGeneratorUtil.getContactNo("jjdh", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.INTER_CHANGE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessInterchange.setCreateUser(authUser.getId()); businessInterchange.setInterchangeCode(orderNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java index 585a207..955cc7a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java @@ -13,19 +13,18 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.*; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.HandOutPropertyEnum; -import com.casic.missiles.enums.MeasureStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.HandOutPropertyEnum; +import com.casic.missiles.enums.business.MeasureStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.*; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; -import com.casic.missiles.model.business.BusinessLabExecutiveInfo; -import com.casic.missiles.model.business.BusinessLabExecutiveOperateLog; -import com.casic.missiles.model.business.BusinessLabExecutiveTemplateInfo; +import com.casic.missiles.model.business.*; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; import com.casic.missiles.service.business.IBusinessLabExecutiveTemplateInfoService; @@ -71,6 +70,8 @@ private AbstractDictService dictService; @Autowired private MeterStaffMapper staffMapper; + @Autowired + private BusinessOrderMapper orderMapper; @Override public Page handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) throws Exception{ @@ -377,7 +378,9 @@ if(CollectionUtils.isEmpty(unExecutiveInfos)){ //更新样品状态为检测完 orderSampleRelationMapper.updateByOrderIdAndSampleId(pre.getOrderId(), pre.getSampleId(), SampleStatusEnum.MEASURE_COMPLETE); - // TODO: 2023/2/17 委托书中所有样品检测完更新委托书接收状态为检测完成,需求待定 + + //委托书中所有样品检测完更新委托书接收状态为检测完成,未检测完的数量为0则表示全部检完 + updateOrderStatusComplete(pre); //将检测记录加入到实验室检测模板(仅全部为检测完成的才加入到模板,包含终止的不会加入) List labList = new ArrayList<>(); @@ -407,9 +410,27 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + @Transactional + public void updateOrderStatusComplete(SampleOperateRequest pre) { + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("order_id", pre.getOrderId()); + List statusList = new ArrayList<>(); + statusList.add(SampleStatusEnum.TO_RECEIVE); + statusList.add(SampleStatusEnum.TO_HANDOUT); + statusList.add(SampleStatusEnum.IN_MEASURE); + wrapper1.in("sample_status", statusList); + //同一事务中可查到更新后的数量 + if(orderSampleRelationMapper.selectCount(wrapper1) == 0){ + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(pre.getOrderId()); + businessOrder.setStatus(OrderStatusEnum.COMPLETE); + orderMapper.updateById(businessOrder); + } + } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + String templateCode = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.LAB_EXECUTIVE_TEMPLATE_PREFIX, maxNo + i); templateInfo.setTemplateCode(templateCode); // templateInfo.setSampleTypeId(); templateInfo.setSampleId(lab.getSampleId()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index f5c6f61..1d63554 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -14,6 +14,10 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; +import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; @@ -35,7 +39,6 @@ import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -45,12 +48,12 @@ * 业务管理-委托书 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @AllArgsConstructor -public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { +public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService,PrefixCodeEnum, OrderStatusEnum,SampleStatusEnum, MeasureTypeEnum { private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; @@ -90,8 +93,10 @@ List customerSampleList = new ArrayList<>(); for (BusinessOrderSampleRelation orderSample : orderSampleList) { CustomerSampleInfo customerSampleInfo = customerSampleService.sampleDetail(orderSample.getSampleId()); - customerSampleInfo.setIsExistSample("1"); - customerSampleList.add(customerSampleInfo); + if (null != customerSampleInfo) { + customerSampleInfo.setIsExistSample("1"); + customerSampleList.add(customerSampleInfo); + } } businessOrder.setCustomerSampleInfoList(customerSampleList); return businessOrder; @@ -202,7 +207,13 @@ @Override public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); - String dealType = "委托书" + ((status.equals("2")) ? "接收" : "退回"); + String dealType = ""; + if (status.equals(ALREADY_RECEIVED)) { + dealType = "委托书接收" ; + doUpdateSampleStatus(orderCancelRequest.getId(),TO_RECEIVE); + } else { + dealType = "委托书退回"; + } int addDealRecordFlag = addDealRecord(orderCancelRequest, dealType); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -216,7 +227,7 @@ @Override @Transactional public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { - int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), ALREADY_CANCEL); int addDealRecordFlag = addDealRecord(orderCancelRequest, "委托书取消"); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -250,6 +261,7 @@ return dealRecordMapper.insert(businessDealRecord); } + /** * 强调正在做状态更新 */ @@ -280,12 +292,12 @@ private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); - String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(ORDER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); - businessOrder.setStatus("1"); + businessOrder.setStatus(NOT_RECEIVED); } /** @@ -320,10 +332,23 @@ sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); - sampleStatusPopulation.setMeasureType("1"); + sampleStatusPopulation.setMeasureType(INSIDE_MEASURE); return this.sampleRelationMapper.insert(sampleStatusPopulation); } + /** + * 强调正在做状态更新 + */ + private int doUpdateSampleStatus(Long orderId, String sampleStatus) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", orderId); + BusinessOrderSampleRelation orderSample = new BusinessOrderSampleRelation(); + orderSample.setId(orderId); + orderSample.setSampleStatus(sampleStatus); + return this.sampleRelationMapper.update(orderSample, queryWrapper); + } + + private void doSampleListPopulation(BusinessOrder businessOrder) { businessOrder.getCustomerSampleInfoList().forEach( customerSampleInfo -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java index 1e35b7a..1c602b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java @@ -131,7 +131,7 @@ @Override public ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord) { - if (this.baseMapper.insert(businessOriginalRecord) > 0) { + if (this.baseMapper.updateById(businessOriginalRecord) > 0) { //加入技术文件绑定 if (ObjectUtil.isNotEmpty(businessOriginalRecord.getFileList()) && businessOriginalRecord.getFileList().size() > 0) { originalRecordFileRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getFileList()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java index 07c88e9..c9c1902 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.date.DateUtil; import com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -14,6 +15,7 @@ import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; @@ -29,6 +31,7 @@ import org.springframework.util.ObjectUtils; import javax.servlet.http.HttpServletResponse; +import java.util.Date; import java.util.List; import java.util.Objects; import java.util.Optional; @@ -39,7 +42,7 @@ @Service @Slf4j @AllArgsConstructor -public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService { +public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService, SampleStatusEnum, CurrentSegmentEnum, MeasureTypeEnum { private final BusinessOrderSampleRelationMapper orderSampleRelationMapper; private final BusinessCertificateReportMapper certificateReportMapper; @@ -73,20 +76,20 @@ Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.TO_HANDOUT: + case TO_HANDOUT: //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 - case SampleStatusEnum.IN_MEASURE: + case IN_MEASURE: //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.MEASURE_COMPLETE: + case MEASURE_COMPLETE: doDispatchVoPopulation(dispatchVO, sampleId, orderId); return; //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 - case SampleStatusEnum.BE_OVERDUE: + case BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); @@ -126,12 +129,14 @@ /** - * 状态更新 + * 根据sampleId,orderId,进行状态更新 */ @Override + @Transactional public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { + boolean beforeEventFlag = beforeStatusChange(deviceStatusChangeDTO); Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFlag > 0) { + if (updateFlag > 0 && beforeEventFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -181,8 +186,9 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); +// queryWrapper.ne("order_id", deviceStatusChangeDTO.getOrderId()); BusinessLabExecutiveInfo businessLabExecutiveInfo = new BusinessLabExecutiveInfo(); - businessLabExecutiveInfo.setMeasureStatus(deviceStatusChangeDTO.getStatus()); +// businessLabExecutiveInfo.setMeasureStatus(); businessLabExecutiveInfo.setRemark(deviceStatusChangeDTO.getReason()); labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } @@ -214,6 +220,9 @@ return handOutLabExecutiveDTOOptional.orElse(null); } + /** + * 构建证书的查询条件 + */ private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("order_id", dispatchVO.getOrderId()); @@ -230,7 +239,8 @@ queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); if (terminateFlag) { - queryWrapper.eq("sample_status", "2").or().eq("sample_status", "3").or().eq("sample_status", "4"); + //若是终止,需要对应待分发、检测中、检测完三个状态的变更 + queryWrapper.eq("sample_status", TO_HANDOUT).or().eq("sample_status", IN_MEASURE).or().eq("sample_status", MEASURE_COMPLETE); } BusinessOrderSampleRelation businessOrderSampleRelation = new BusinessOrderSampleRelation(); businessOrderSampleRelation.setSampleStatus(statusChangeDTO.getStatus()); @@ -238,12 +248,12 @@ } /** - * 判断不是自检 + * 判断不是自检,即外包和外检,进行环节设定 */ private boolean notSelfMeasure(DeviceDispatchVO dispatchVO) { if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType())) { - if (MeasureStatusEnum.TO_ALLOCATE.equals(String.valueOf(dispatchVO.getMeasureType())) || MeasureStatusEnum.TO_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { - String currentSegment = MeasureStatusEnum.TO_ALLOCATE.equals(dispatchVO.getMeasureType()) ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; + if (OTHERS_UNDERTAKE.equals(String.valueOf(dispatchVO.getMeasureType())) || OUTSIDE_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { + String currentSegment = OTHERS_UNDERTAKE.equals(dispatchVO.getMeasureType()) ? OUT_UNDERTAKE : OUT_MESASUR; dispatchVO.setCurrentSegment(currentSegment); return true; } @@ -251,6 +261,9 @@ return false; } + /** + * 其他条件的置为空 + */ private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { request.setSampleName(null); request.setSampleNo(null); @@ -264,18 +277,38 @@ } /** - * 判断样品是完成或接收状态,直接显示即可 + * 判断样品是完成或接收状态,进行当前阶段环节的设置 */ private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { - if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + if (TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_INCOME); return true; } - if (SampleStatusEnum.TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); + if (TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_ALLOCATE); return true; } return false; } + private boolean beforeStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(TO_INCOME)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + List orderSampleRelationList = this.orderSampleRelationMapper.selectList(queryWrapper); + Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); + if (orderSampleRelationOptional.isPresent()) { + BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); + if (businessOrderSampleRelation.getSampleStatus().equals(TO_ALLOCATE)) { + BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); + businessOrderSample.setRealDeliverTime(DateUtil.format(new Date(), "yyyy-MM-dd")); + int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); + return updateFlag > 0 ? true : false; + } + } + } + return true; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java index 4f06678..e2fea21 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerAdviceMapper; import com.casic.missiles.mapper.customer.CustomerMapper; @@ -34,7 +35,7 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerAdviceServiceImpl implements CustomerAdviceService { +public class CustomerAdviceServiceImpl implements CustomerAdviceService,PrefixCodeEnum { private final CustomerAdviceMapper customerAdviceMapper; private final IBaseExportService iBaseExportService; @@ -122,7 +123,7 @@ private void initCustomerAdviceInfo(CustomerAdviceInfo customerAdviceInfo) { Long maxNo = customerAdviceMapper.selectMaxAdviceNo(); - String adviceNo = NumberGeneratorUtil.getContactNo("khjy", maxNo); + String adviceNo = NumberGeneratorUtil.getContactNo(CUSTOMER_ADVICE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerAdviceInfo.setCreateUser(authUser.getId()); customerAdviceInfo.setUpdateUser(authUser.getId()); 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 4889e55..f9747dd 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 @@ -10,18 +10,19 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.sample.CertificationExpireStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; import com.casic.missiles.mapper.customer.CustomerMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerSampleListResponseMapper; import com.casic.missiles.mapper.customer.CustomerSampleMapper; -import com.casic.missiles.mapper.customer.customize.MesureRecordsResponseMapper; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -42,13 +43,11 @@ @Service @AllArgsConstructor -public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService { +public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService, CertificationExpireStatusEnum,PrefixCodeEnum{ private final CustomerSampleListResponseMapper customerSampleListResponseMapper; private final CustomerMapper customerMapper; private final IBaseExportService iBaseExportService; - private final CertificationResponseMapper certificationResponseMapper; - private final MesureRecordsResponseMapper mesureResponseMapper; private final BusinessOrderSampleRelationMapper sampleRelationMapper; @Override @@ -58,14 +57,14 @@ customerSamplePage.getRecords() .forEach(customerSample -> { BusinessOrderSampleRelation businessOrderSampleRelation = this.getSampleStatusById(customerSample.getId()); + customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); - customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); } }); for (CustomerSampleListResponse customerSampleListResponse : customerSamplePage.getRecords()) { - if (!StringUtils.isEmpty(customerSampleListResponse.getSampleSatus())) { + if (!StringUtils.isEmpty(customerSampleListResponse.getSampleStatus())) { DictCodeUtils.convertDictCodeToName(customerSampleListResponse); } } @@ -106,14 +105,13 @@ public CustomerSampleInfo sampleDetail(Long id) { CustomerSampleInfo customerSampleInfo = this.baseMapper.selectById(id); if (!ObjectUtils.isEmpty(customerSampleInfo)) { - doCustomerSampleInfoPopulation(customerSampleInfo); + doPopulateCustomerSampleInfo(customerSampleInfo); } return customerSampleInfo; } /** * 只导出样品列表信息 - * */ @Override public void sampleExport(CustomerSampleListRequest request, HttpServletResponse response) { @@ -135,7 +133,7 @@ BusinessOrderSampleRelation businessOrderSampleRelation = businessOrderMap.get(customerSample.getId()); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); } } @@ -159,26 +157,16 @@ } @Override - public Page measureRecordsBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page measureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); + public Page measureRecordsById(CustomerSampleIdRequest customerSampleIdRequest) { + Page page = PageFactory.defaultPage(); + Page measureRecordsResponsePage = this.baseMapper.measureRecordsById(page, customerSampleIdRequest); return measureRecordsResponsePage; } - @Override - public Page certificationBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page certificateResponsePage = certificationResponseMapper.selectPage(page, wrapper); - return certificateResponsePage; - } @Override - public Page samplesByOderId(Page page,Long orderId, String sampleNo, String sampleName) { - return this.baseMapper.samplesByOderId(page,orderId,sampleNo,sampleName); + public Page samplesByOderId(Page page, Long orderId, String sampleNo, String sampleName) { + return this.baseMapper.samplesByOderId(page, orderId, sampleNo, sampleName); } private BusinessOrderSampleRelation getSampleStatusById(Long sampleId) { @@ -190,9 +178,12 @@ return orderSampleOptional.isPresent() ? orderSampleOptional.get() : null; } + /** + * 初始化样品状态 + */ private void initSample(CustomerSampleInfo customerSampleInfo) { Long maxNo = this.baseMapper.selectMaxSampleNo(); - String sampleNo = NumberGeneratorUtil.getContactNo("khyp", maxNo); + String sampleNo = NumberGeneratorUtil.getContactNo(SAMPLE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setSampleNo(sampleNo); customerSampleInfo.setCreateUser(authUser.getId()); @@ -202,7 +193,6 @@ private QueryWrapper listParamWrapper(CustomerSampleListRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.select("id,sample_no,sample_name,sample_model,manufacturing_no,customer_id,measure_period,measure_last_time,remark,valid_deadline"); queryWrapper.like(StringUtils.isNotBlank(request.getSampleNo()), "sample_no", request.getSampleNo()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleName()), "sample_name", request.getSampleName()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleBelong()), "sample_belong", request.getSampleBelong()); @@ -210,9 +200,10 @@ queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); if (!StringUtils.isEmpty(request.getOvertimeStatus())) { - queryWrapper.apply(request.getOvertimeStatus().equals("1"), + queryWrapper.apply("1".equals(request.getOvertimeStatus()), + "sysdate() > DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); - queryWrapper.apply(request.getOvertimeStatus().equals("0"), + queryWrapper.apply("0".equals(request.getOvertimeStatus()), "sysdate() <= DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); } queryWrapper.apply(StringUtils.isNotBlank(request.getStartTime()), @@ -224,24 +215,30 @@ return queryWrapper; } + /** + * 通过证书到期时间进行到期状态的计算 + */ private String calculateCertificationStatus(String validDeadline) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if (StringUtils.isEmpty(validDeadline)) { - return "0"; + return NORMAL; } - if (validDeadline.compareTo(sdf.format(new Date())) > 0) { - return "2"; + if (validDeadline.compareTo(sdf.format(new Date())) < 0) { + return ALREADY_EXPIRE; } Calendar date = Calendar.getInstance(); date.setTime(new Date()); date.add(Calendar.DAY_OF_MONTH, -30); - if (validDeadline.compareTo(sdf.format(date.getTime())) > 0) { - return "1"; + if (validDeadline.compareTo(sdf.format(date.getTime())) < 0) { + return ALMOST_EXPIRE; } - return "0"; + return NORMAL; } - private void doCustomerSampleInfoPopulation(CustomerSampleInfo customerSampleInfo) { + /** + * 对样品列表的进行供应商联系方式的填充 + */ + private void doPopulateCustomerSampleInfo(CustomerSampleInfo customerSampleInfo) { CustomerInfo customerInfo = customerMapper.selectById(customerSampleInfo.getCustomerId()); if (!ObjectUtils.isEmpty(customerInfo)) { customerSampleInfo.setPhone(customerInfo.getPhone()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java index 32d4dee..f6e1f8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java @@ -11,13 +11,12 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerMapper; import com.casic.missiles.mapper.customer.CustomerUserMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerInfoResponseMapper; import com.casic.missiles.mapper.customer.customize.SampleRecordsResponseMapper; import com.casic.missiles.model.customer.CustomerInfo; @@ -38,11 +37,10 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerServiceImpl extends ServiceImpl implements CustomerService { +public class CustomerServiceImpl extends ServiceImpl implements CustomerService,PrefixCodeEnum { private final SampleRecordsResponseMapper sampleRecordsResponseMapper; private final CustomerUserMapper customerUserMapper; - private final CertificationResponseMapper certificationMapper; private final IBaseExportService iBaseExportService; private final CustomerInfoResponseMapper customerInfoResponseMapper; @@ -126,18 +124,9 @@ return contractRecordsResponsePage; } - @Override//暂定不做 - public Page mesureRecordsByCustomerId(Long customerId) { - Page measureRecordsResponsePage = PageFactory.defaultPage(); - return measureRecordsResponsePage; - } - @Override public Page certificationByCustomerId(Long customerId) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("customer_id", customerId); - return certificationMapper.selectPage(page, wrapper); + return null; } @Override @@ -163,8 +152,7 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); - queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "bussiness_size", request.getBusinessSize()); - queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); + queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "business_size", request.getBusinessSize()); queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); queryWrapper.eq("is_del", 0); return queryWrapper; @@ -172,7 +160,7 @@ private void initCustomerInfo(CustomerInfo customerInfo) { Long maxNo = this.baseMapper.selectMaxCustomerNo(); - String customerNo = NumberGeneratorUtil.getContactNo("khxx", maxNo); + String customerNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CUSTOMER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerInfo.setCreateUser(authUser.getId()); customerInfo.setUpdateUser(authUser.getId()); @@ -196,7 +184,7 @@ boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { customerUserInfo.setCustomerId(id); - String customerNo = NumberGeneratorUtil.getContactNo("khyh", maxUserNo++); + String customerNo = NumberGeneratorUtil.getContactNo(CUSTOMER_USER_PREFIX, maxUserNo++); customerUserInfo.setUserNo(customerNo); int userAddNum = customerUserMapper.insert(customerUserInfo); if (userAddNum <= 0) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java index d81a488..77e4caf 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java @@ -13,9 +13,10 @@ import com.casic.missiles.dto.equipment.AcceptanceCheckRequest; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentAcceptanceCheckMapper; @@ -183,7 +184,7 @@ public ReturnDTO addAcceptanceCheck(EquipmentApply equipmentApply) { Long maxNo = equipmentApplyMapper.selectMaxNo(); // 生成编号 - String applyNo = NumberGeneratorUtil.getContactNo("sbjxbyysd", maxNo); + String applyNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.REPAIR_MAINTAIN_PREFIX, maxNo); equipmentApply.setApplyNo(applyNo); // 草稿箱状态 equipmentApply.setApprovalStatus(ApprovalStatusEnum.DRAFT); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java index 38ad4e9..d468012 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java @@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.base.service.IBaseExportService; -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.IdDTO; @@ -20,6 +19,9 @@ import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java index 7c4fdbc..e6a1ff8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.equipment.CheckInfoRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoFileMapper; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoMapper; @@ -79,7 +80,7 @@ @Transactional public ReturnDTO addCheckInfo(EquipmentCheckInfo equipmentCheckInfo) { long maxNo = equipmentCheckInfoMapper.selectMaxNo(); - String checkNo = NumberGeneratorUtil.getContactNo("jc", maxNo); + String checkNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CHECK_PREFIX, maxNo); equipmentCheckInfo.setCheckNo(checkNo); if(equipmentCheckInfoMapper.insert(equipmentCheckInfo) > 0){ Long id = equipmentCheckInfo.getId(); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java index ba6a600..7ff9c16 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.equipment; -import cn.hutool.core.io.unit.DataUnit; import com.alibaba.excel.util.DateUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -13,7 +12,8 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.FixedAssetRequest; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentFixedAssetFileMapper; @@ -131,7 +131,7 @@ validManufacturingNo(meterFixedAssets); //生成资产编号 Long maxNo = meterFixedAssetsMapper.selectMaxNo(); - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); meterFixedAssets.setAssetNo(asset_no); meterFixedAssets.setEquipmentNo(asset_no); meterFixedAssetsMapper.insert(meterFixedAssets); @@ -164,7 +164,7 @@ //需要根据出厂编号判重 validManufacturingNo(item); //生成资产编号 - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); item.setAssetNo(asset_no); item.setEquipmentNo(asset_no); maxNo++; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java index 3e63a5a..2b29aa7 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java @@ -18,6 +18,8 @@ import com.casic.missiles.dto.equipment.StandardEquipmentApplyRequest; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.StandardApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java index caa63a7..afa6905 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java @@ -10,9 +10,9 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.StandardEquipmentRequest; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentFileMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentMapper; -import com.casic.missiles.model.equipment.EquipmentApply; import com.casic.missiles.model.equipment.EquipmentStandardEquipment; import com.casic.missiles.model.equipment.EquipmentStandardEquipmentFile; import com.casic.missiles.model.page.PageQuery; @@ -74,7 +74,7 @@ public ReturnDTO add(EquipmentStandardEquipment meterStandardEquipment) { //生成资产编号 Long maxNo = meterStandardEquipmentMapper.selectMaxNo(); - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); meterStandardEquipment.setStandardNo(standard_no); meterStandardEquipmentMapper.insert(meterStandardEquipment); // 插入文件列表 @@ -129,7 +129,7 @@ } DictCodeUtils.validDictCode(item); //生成资产编号 - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); item.setStandardNo(standard_no); maxNo++; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java index 481cf64..b749b2e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java @@ -2,7 +2,6 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.dto.IdDTO; @@ -12,7 +11,7 @@ import com.casic.missiles.dto.equipment.StateManageResponse; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java index 5dd6f8e..e566e01 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.EquipmentWorkbenchResponse; -import com.casic.missiles.enums.ApplyFromIdEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java index f3b9c4f..485287a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java @@ -6,7 +6,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.system.dao.DeptMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java index ce076b0..c20feb0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java @@ -4,7 +4,6 @@ import cn.hutool.core.lang.Assert; import cn.hutool.core.util.ObjectUtil; import com.alibaba.excel.util.DateUtils; -import com.alibaba.excel.util.StringUtils; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -22,18 +21,18 @@ import com.casic.missiles.dto.meter.MeterCertificateImport; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.enums.*; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterRoleTypeEnum; +import com.casic.missiles.enums.workbench.MessageTypeEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.meter.MeterCertificateExpireMessageMapper; import com.casic.missiles.mapper.meter.MeterCertificateMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.sys.UserInfoMapper; import com.casic.missiles.mapper.workbench.WorkbenchRemindMessageMapper; import com.casic.missiles.model.meter.MeterCertificate; -import com.casic.missiles.model.meter.MeterCertificateExpireMessage; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.model.system.UserInfo; import com.casic.missiles.model.workbench.WorkbenchRemindMessage; -import com.casic.missiles.service.meter.MeterCertificateExpireMessageService; import com.casic.missiles.service.meter.MeterCertificateService; import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; import com.casic.missiles.utils.ExportUtils; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java index ecf1fc3..e84f4d6 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java @@ -17,10 +17,11 @@ import com.casic.missiles.dto.meter.FileApprovalListResponse; import com.casic.missiles.dto.meter.FileListRequest; import com.casic.missiles.dto.meter.FileSaveResponse; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EffectiveStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.EffectiveStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterFileMapper; import com.casic.missiles.model.meter.MeterFile; @@ -92,7 +93,7 @@ public ReturnDTO saveFile(MeterFile file) { //生成文件编号 Long maxNo = meterFileMapper.selectMaxFileNo(); - String fileNo = NumberGeneratorUtil.getContactNo("jlwj", maxNo); + String fileNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FILE_PREFIX, maxNo); file.setFileNo(fileNo); file.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 Assert.isFalse(Objects.isNull(ShiroKit.getUser()), () -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java index 000e58a..467f03d 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java @@ -10,7 +10,8 @@ import com.casic.missiles.dto.meter.ParentDeptRequest; import com.casic.missiles.dto.meter.ParentDeptResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.model.meter.MeterOrganize; @@ -101,7 +102,7 @@ public int addOrganize(Dept dept) { //生成组织编号 Long maxNo = organizeMapper.selectMaxOrganizeNo(); - String organizeNo = NumberGeneratorUtil.getContactNo("jlzz", maxNo); + String organizeNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.ORGANIZE_PREFIX, maxNo); MeterOrganize meterOrganize = new MeterOrganize(); meterOrganize.setDeptId(dept.getId()); meterOrganize.setPDeptId(dept.getPid()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java index 7c3f9cf..643ba4c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java @@ -13,7 +13,8 @@ import com.casic.missiles.dto.meter.MeterPriceRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterPriceCategoryMapper; import com.casic.missiles.mapper.meter.MeterPriceItemMapper; @@ -83,7 +84,7 @@ MeterPriceItem item = new MeterPriceItem(null,priceCategory.getId(),meterPrice.getItemName()); if(categoryFlag>0 && meterPriceItemMapper.insert(item)>0){ Long maxNo = meterPriceMapper.getMaxNo(); - String priceNo = NumberGeneratorUtil.getContactNo("jg", maxNo); + String priceNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.PRICE_PREFIX, maxNo); meterPrice.setPriceNo(priceNo); meterPrice.setPriceType(priceCategory.getId().toString()); meterPrice.setPriceItem(item.getId().toString()); @@ -178,7 +179,7 @@ // 校验通过 AtomicLong maxNo = new AtomicLong(meterPriceMapper.getMaxNo()); list.forEach(bean->{ - String priceNo = NumberGeneratorUtil.getContactNo("jg", maxNo.get()); + String priceNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.PRICE_PREFIX, maxNo.get()); maxNo.set(Long.parseLong(priceNo.substring(2))); Long id= IdWorker.getId(); bean.setId(id); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java index 7c4a1a1..f79bb8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java @@ -15,7 +15,8 @@ import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterCertificateMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; @@ -42,7 +43,6 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; -import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.concurrent.atomic.AtomicBoolean; @@ -139,7 +139,7 @@ } long maxNo = meterStaffMapper.getMaxNo(); meterStaff.setIsDel(0); - String staffNo = NumberGeneratorUtil.getContactNo("jlry", maxNo); + String staffNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STAFF_PREFIX, maxNo); meterStaff.setStaffNo(staffNo); if(meterStaffMapper.insert(meterStaff)>0){ Long id = meterStaff.getId(); @@ -263,7 +263,7 @@ AtomicLong maxNo = new AtomicLong(meterStaffMapper.getMaxNo()); list.forEach(bean->{ // 生成编号 - String staffNo = NumberGeneratorUtil.getContactNo("jlry", maxNo.get()); + String staffNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STAFF_PREFIX, maxNo.get()); maxNo.set(Long.parseLong(staffNo.substring(4))); bean.setStaffNo(staffNo); // 获取id diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java index 535581f..0beebb1 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java @@ -14,9 +14,10 @@ import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.meter.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterTraceSupplierMapper; import com.casic.missiles.model.meter.MeterTraceSupplier; @@ -92,7 +93,7 @@ public ReturnDTO saveTraceSupplier(MeterTraceSupplier traceSupplier) { //生成编号 Long maxNo = traceSupplierMapper.selectMaxSupplierNo(); - String supplierNo = NumberGeneratorUtil.getContactNo("sygf", maxNo); + String supplierNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.TRACE_SUPPLIER_PREFIX, maxNo); traceSupplier.setSupplierNo(supplierNo); traceSupplier.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 Assert.isFalse(Objects.isNull(ShiroKit.getUser()), () -> { @@ -106,7 +107,7 @@ //存储溯源供方人员信息 boolean saveBatchFlag = true; List traceSupplierPersonList = traceSupplier.getTraceSupplierPersonList(); - if(!CollectionUtils.isEmpty(traceSupplierPersonList)){ + if (!CollectionUtils.isEmpty(traceSupplierPersonList)) { traceSupplierPersonList.forEach(person -> { person.setSupplierId(traceSupplier.getId()); }); @@ -119,7 +120,7 @@ //存储溯源供方标准装置信息 boolean saveBatchFlag2 = true; List standardEquipmentIds = traceSupplier.getStandardEquipmentIds(); - if(!CollectionUtils.isEmpty(standardEquipmentIds)){ + if (!CollectionUtils.isEmpty(standardEquipmentIds)) { List equipmentList = new ArrayList<>(); standardEquipmentIds.forEach(id -> { MeterTraceSupplierStandardEquipment equipment = new MeterTraceSupplierStandardEquipment(); @@ -154,7 +155,7 @@ traceSupplierPersonService.remove(wrapper); boolean saveFlag = true; //溯源供方人员可能为空 - if(!CollectionUtils.isEmpty(traceSupplierPersonList)){ + if (!CollectionUtils.isEmpty(traceSupplierPersonList)) { //再增加 traceSupplierPersonList.forEach(person -> { person.setSupplierId(traceSupplier.getId()); @@ -169,7 +170,7 @@ meterTraceSupplierStandardEquipmentService.remove(wrapper1); boolean saveBatchFlag2 = true; List standardEquipmentIds = traceSupplier.getStandardEquipmentIds(); - if(!CollectionUtils.isEmpty(standardEquipmentIds)){ + if (!CollectionUtils.isEmpty(standardEquipmentIds)) { List equipmentList = new ArrayList<>(); standardEquipmentIds.forEach(id -> { MeterTraceSupplierStandardEquipment equipment = new MeterTraceSupplierStandardEquipment(); @@ -195,10 +196,10 @@ String formId = request.getFormId(); ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); MeterTraceSupplier traceSupplier = new MeterTraceSupplier(); traceSupplier.setId(request.getId()); @@ -225,9 +226,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //本地删除 - if(traceSupplierMapper.deleteById(request.getId()) > 0){ + if (traceSupplierMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -267,16 +268,16 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -288,7 +289,7 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.IN_APPROVED); } @@ -296,7 +297,7 @@ //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.PASSED); } @@ -305,12 +306,12 @@ case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { List rejectList = traceSupplierMapper.selectBatchForApproval(page, request, rejectBusinessKey); rejectApprovalList = handleApprovalListResponse(approvalList, rejectList, ApprovalStatusEnum.FAILED_REJECT); } @@ -320,7 +321,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.CANCELED); } @@ -330,10 +331,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleAllApprovalListResponse(approvalList, list, AllApproveList); } @@ -343,9 +344,11 @@ } private List handleAllApprovalListResponse(List approvalList, List list, List allApproveList) { - Map taskMap = new HashMap<>(); + Map taskMap = new HashMap<>(); approvalList = ConvertUtils.sourceToTarget(list, TraceSupplierApprovalListResponse.class); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -369,7 +372,7 @@ @Override public ReturnDTO deleteTraceSupplier(Long id) { - if(traceSupplierMapper.deleteById(id) > 0){ + if (traceSupplierMapper.deleteById(id) > 0) { return ReturnUtil.success(); } return ReturnUtil.failed("刪除失败"); @@ -377,7 +380,7 @@ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - if(traceSupplierMapper.deleteBatchIds(ids) > 0){ + if (traceSupplierMapper.deleteBatchIds(ids) > 0) { return ReturnUtil.success(); } return ReturnUtil.failed("删除失败"); @@ -400,6 +403,7 @@ wrapper.eq("id", 12344321); return wrapper; } + wrapper.like(StringUtils.isNotBlank(request.getSupplierNo()), "supplier_no", request.getSupplierNo()); wrapper.like(StringUtils.isNotBlank(request.getSupplierName()), "supplier_name", request.getSupplierName()); wrapper.like(StringUtils.isNotBlank(request.getBusinessContent()), "business_content", request.getBusinessContent()); @@ -409,7 +413,7 @@ return wrapper; } - private List handleApprovalListResponse(List approvalList, List list, String status){ + private List handleApprovalListResponse(List approvalList, List list, String status) { approvalList = ConvertUtils.sourceToTarget(list, TraceSupplierApprovalListResponse.class); approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java index 0fd9403..bec30c8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.meter.TrainLogListRequest; import com.casic.missiles.dto.meter.TrainLogUpdateRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterTrainLogMapper; import com.casic.missiles.mapper.meter.MeterTrainStaffMapper; @@ -58,7 +59,7 @@ public ReturnDTO addTrainLog(TrainLogAddRequest request) { //生成编号 Long maxNo = trainLogMapper.selectMaxTrainLogNo(); - String logNo = NumberGeneratorUtil.getContactNo("pxjl", maxNo); + String logNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.TRAIN_LOG_PREFIX, maxNo); MeterTrainLog meterTrainLog = ConvertUtils.sourceToTarget(request, MeterTrainLog.class); meterTrainLog.setLogNo(logNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java index e4f4dcb..e3d0750 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java @@ -14,9 +14,10 @@ import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.meter.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.meter.MeterTrainPlanMapper; @@ -98,7 +99,7 @@ public ReturnDTO saveTrainPlan(MeterTrainPlan trainPlan) { //生成编号 Long maxNo = trainPlanMapper.selectMaxTrainPlanNo(); - String planNo = NumberGeneratorUtil.getContactNo("pxjh", maxNo); + String planNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.TRAIN_PLAN_PREFIX, maxNo); trainPlan.setPlanNo(planNo); trainPlan.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 Assert.isFalse(Objects.isNull(ShiroKit.getUser()), () -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterWorkbenchServiceImpl.java index 663d024..921ae71 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterWorkbenchServiceImpl.java @@ -10,8 +10,8 @@ import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.dto.meter.MeterWorkbenchRequest; import com.casic.missiles.dto.meter.MeterWorkbenchResponse; -import com.casic.missiles.enums.ExamResultEnum; -import com.casic.missiles.enums.MeterRoleTypeEnum; +import com.casic.missiles.enums.meter.ExamResultEnum; +import com.casic.missiles.enums.meter.MeterRoleTypeEnum; import com.casic.missiles.mapper.meter.MeterCertificateMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.meter.MeterTrainPlanMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java index 163c77f..5d76a52 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.system.FlowListRequest; import com.casic.missiles.dto.system.FlowProcDefDTO; import com.casic.missiles.dto.system.FlowUpdateStateRequest; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.FlowDefMapper; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java index dcebbbd..f59ae28 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.system.NoticeAddRequest; import com.casic.missiles.dto.system.NoticeListRequest; import com.casic.missiles.dto.system.NoticeReadRequest; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.system.SystemNoticeMapper; import com.casic.missiles.mapper.system.SystemNoticeUserRelationMapper; import com.casic.missiles.model.system.SystemNotice; @@ -56,7 +57,7 @@ public ReturnDTO addNotice(NoticeAddRequest noticeAddRequest) { //生成编号 Long maxNo = noticeMapper.selectMaxNoticeNo(); - String noticeNo = NumberGeneratorUtil.getContactNo("tzgg", maxNo); + String noticeNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.NOTICE_PREFIX, maxNo); noticeAddRequest.setNoticeNo(noticeNo); SystemNotice systemNotice = ConvertUtils.sourceToTarget(noticeAddRequest, SystemNotice.class); int insertFlag = noticeMapper.insert(systemNotice); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemSignServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemSignServiceImpl.java index dffd29b..3bc7d81 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemSignServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemSignServiceImpl.java @@ -8,6 +8,7 @@ import com.casic.missiles.dto.system.SignAddRequest; import com.casic.missiles.dto.system.SignDetailResponse; import com.casic.missiles.dto.system.SignListRequest; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.system.SystemSignMapper; import com.casic.missiles.mapper.system.SystemSignUserRelationMapper; import com.casic.missiles.model.system.SystemSign; @@ -72,17 +73,16 @@ public ReturnDTO addSign(SignAddRequest request) { //生成编号 Long maxNo = signMapper.selectMaxSignNo(); - String signNo = NumberGeneratorUtil.getContactNo("qmqz", maxNo); //签名签章编号一起 + String signNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.SIGN_PREFIX, maxNo); //签名签章编号一起 SystemSign systemSign = ConvertUtils.sourceToTarget(request, SystemSign.class); systemSign.setSignNo(signNo); int insertFlag = signMapper.insert(systemSign); //关联表 - //签名无可使用人,签章有可使用人 - boolean saveBatch = true; - if("2".equals(request.getSignType())){ - List userRelationList = getUserRelations(request.getUserIdList(), systemSign.getId()); - saveBatch = userRelationService.saveBatch(userRelationList); - } + //签名/签章可使用人 + List userIdList = request.getUserIdList(); + userIdList.add(request.getSignUserId()); //添加签名本人 + List userRelationList = getUserRelations(userIdList, systemSign.getId()); + boolean saveBatch = userRelationService.saveBatch(userRelationList); if(insertFlag > 0 && saveBatch){ return ReturnUtil.success(); } @@ -94,16 +94,15 @@ public ReturnDTO updateSign(SystemSign systemSign) { int updateFlag = signMapper.updateById(systemSign); //关联表 - //签章有可使用人 - int deleteFlag = 1; - boolean saveBatch = true; - if("2".equals(systemSign.getSignType())){ - Map columnMap = new HashMap<>(); - columnMap.put("sign_id", systemSign.getId()); - deleteFlag = userRelationMapper.deleteByMap(columnMap); - List userRelationList = getUserRelations(systemSign.getUserIdList(), systemSign.getId()); - saveBatch = userRelationService.saveBatch(userRelationList); - } + //签名/签章可使用人 + Map columnMap = new HashMap<>(); + columnMap.put("sign_id", systemSign.getId()); + int deleteFlag = userRelationMapper.deleteByMap(columnMap); + List userIdList = systemSign.getUserIdList(); + userIdList.add(systemSign.getSignUserId()); + List userRelationList = getUserRelations(systemSign.getUserIdList(), systemSign.getId()); + boolean saveBatch = userRelationService.saveBatch(userRelationList); + if(updateFlag > 0 && deleteFlag > 0 && saveBatch){ return ReturnUtil.success(); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemTemplateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemTemplateServiceImpl.java index 8ac39b3..4d6aa00 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemTemplateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemTemplateServiceImpl.java @@ -8,6 +8,7 @@ import com.casic.missiles.dto.system.TemplateAddRequest; import com.casic.missiles.dto.system.TemplateDetailResponse; import com.casic.missiles.dto.system.TemplateListRequest; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.system.SystemTemplateMapper; import com.casic.missiles.mapper.system.SystemTemplateUserRelationMapper; import com.casic.missiles.model.system.SystemTemplate; @@ -66,7 +67,7 @@ public ReturnDTO addTemplate(TemplateAddRequest request) { //生成编号 Long maxNo = templateMapper.selectMaxTemplateNo(); - String templateNo = NumberGeneratorUtil.getContactNo("jlbg", maxNo); //原始记录模板证书报告模板编号一起 + String templateNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.TEMPLATE_PREFIX, maxNo); //原始记录模板证书报告模板编号一起 SystemTemplate systemTemplate = ConvertUtils.sourceToTarget(request, SystemTemplate.class); systemTemplate.setTemplateNo(templateNo); int insertFlag = templateMapper.insert(systemTemplate); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchRemindMessageServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchRemindMessageServiceImpl.java index 58ce952..6f6d1b2 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchRemindMessageServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchRemindMessageServiceImpl.java @@ -61,9 +61,9 @@ wrapper.eq(StringUtils.isNotBlank(request.getMessageType()), "message_type", request.getMessageType()); wrapper.eq("status", 0); wrapper.apply(StringUtils.isNotBlank(request.getStartTime()), - "{0} <= DATE_FORMAT(train_time,'%Y-%m-%d')", request.getStartTime().split(" ")[0]); + "{0} <= DATE_FORMAT(create_time,'%Y-%m-%d')", request.getStartTime().split(" ")[0]); wrapper.apply(StringUtils.isNotBlank(request.getEndTime()), - "{0} >= DATE_FORMAT(train_time,'%Y-%m-%d')", request.getEndTime().split(" ")[0]); + "{0} >= DATE_FORMAT(create_time,'%Y-%m-%d')", request.getEndTime().split(" ")[0]); wrapper.orderByDesc("create_time"); return wrapper; } 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 89787de..8e91c42 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 @@ -6,7 +6,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.business.certificate.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; -import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; +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.model.business.BusinessCertificateReport; @@ -41,4 +42,6 @@ void originExport(CertificateReportApprovalRequest request, HttpServletResponse response); + Page certificateRecordsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception; + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java new file mode 100644 index 0000000..e196dda --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Builder; +import lombok.Data; + +/** + * @author cz + */ +@Data +@Builder +public class NotifyEventStatusDTO { + + /** + * 业务表主键 + */ + private String id; + /** + * 业务表状态 + */ + private String status; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java index 65c19e3..0f3e84f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java @@ -74,7 +74,7 @@ /** * 部门/科室/工程组名称 */ - @ExcelProperty("组织编号") + @ExcelProperty("组织名称") @ApiModelProperty(value = "计量组织名称", dataType = "String", required = true) @NotBlank(message = "计量组织名称不能为空") @TableField("organize_name") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java index 54dc5cd..244e431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java @@ -84,7 +84,7 @@ * 签名用户id(一个用户一个签名,签名不使用关联表,签章暂时使用和使用人的关联表) */ @TableField("sign_user_id") - private String signUserId; + private Long signUserId; /** * 签章或签名-字典code diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java index ca20ca4..0e94b9e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 2f97cb3..fdc4bf0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -3,7 +3,6 @@ import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -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; @@ -17,9 +16,10 @@ import com.casic.missiles.dto.flowable.ApprovalAgreeRequest; import com.casic.missiles.dto.flowable.ApprovalRefuseRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -42,10 +42,9 @@ */ @Service @AllArgsConstructor -public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { +public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService, CertificatePrintStatusEnum { private final IBaseApprovalService baseApprovalService; - private final AbstractDictService dictService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; @@ -86,7 +85,7 @@ } /** - * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 * * @return */ @@ -103,7 +102,7 @@ BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); //设置为不能打印 - certificateReport.setPrintStatus("2"); + certificateReport.setPrintStatus(NON_PRINTABLE); certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { @@ -113,7 +112,7 @@ } /** - * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 */ @Transactional @Override @@ -128,7 +127,7 @@ //审批状态为审批中 certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //打印状态审批中 - certificateReport.setPrintStatus("3"); + certificateReport.setPrintStatus(IN_APPROVAL); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -142,7 +141,7 @@ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)&&CollectionUtils.isEmpty(request.getIds())) { - handlerBeApproved(approvalList, page, request); + approvalList=handlerBeApproved(approvalList, page, request); }else { approvalList=this.baseMapper.selectBatchForApprovalList(page, request, null); } 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 d03ab22..164c53a 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,17 +7,22 @@ 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.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; -import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +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.MonitorCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -26,9 +31,9 @@ import com.casic.missiles.service.business.IBusinessCertificateReportService; import com.casic.missiles.service.business.IBusinessOriginalRecordService; import com.casic.missiles.service.flowable.ApprovalOperateService; -import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; +import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.runtime.ProcessInstance; @@ -68,8 +73,10 @@ private RuntimeService runtimeService; @Resource private IBaseExportService iBaseExportService; + /** * 保存证书报告信息 + * * @param certificateReport * @return */ @@ -77,7 +84,7 @@ public ReturnDTO saveCertificateReport(BusinessCertificateReport certificateReport) { initCertificateReport(certificateReport); - if(this.baseMapper.insert(certificateReport)>0) + if (this.baseMapper.insert(certificateReport) > 0) return ReturnUtil.success(); throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -90,9 +97,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //删除数据库记录 - if(this.baseMapper.deleteById(request.getId()) > 0){ + if (this.baseMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -101,7 +108,7 @@ @Override public ReturnDTO draftUpdate(BusinessCertificateReport certificateReport) { - if(this.baseMapper.updateById(certificateReport)>0){ + if (this.baseMapper.updateById(certificateReport) > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -109,25 +116,27 @@ /** * 批量删除 + * * @param ids * @return */ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - return baseMapper.deleteBatchIds(ids) > 0?ReturnUtil.success(): + return baseMapper.deleteBatchIds(ids) > 0 ? ReturnUtil.success() : ReturnUtil.failed("删除失败"); } /** * 证书报告详情 + * * @param id * @return */ @Override public BusinessCertificateReport certificateReportDetail(Long id) { BusinessCertificateReport certificateReport = this.baseMapper.selectById(id); - if(certificateReport.getOriginalRecordId()!=null){ + if (certificateReport.getOriginalRecordId() != null) { try { certificateReport.setBusinessOriginalRecord(originalRecordService.originalDetail(certificateReport.getOriginalRecordId())); } catch (Exception e) { @@ -139,6 +148,7 @@ /** * 提交证书报告 + * * @param request * @return */ @@ -148,10 +158,10 @@ String formId = request.getFormId(); //2.根据流程定义id启动流程实例 ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); certificateReport.setApprovalStatus(ApprovalStatusEnum.UN_DRAFT); //非草稿状态 @@ -165,6 +175,7 @@ /** * 审批状态列表查询 + * * @param page * @param request * @return @@ -182,6 +193,7 @@ /** * 驳回后更新 + * * @param certificateReport * @return */ @@ -208,13 +220,14 @@ @Override public void originExport(CertificateReportApprovalRequest request, HttpServletResponse response) { try { - //toDo: -// List certificateReportResponses = this.certificateReport(request); -// for (OriginRecordResponse originRecordResponse : originExportList) { -// //字典值转换 -// DictCodeUtils.convertDictCodeToName(originRecordResponse); -// } -// iBaseExportService.exportExcel(response, CertificateReportResponse.class, originExportList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); + //登录用户 + AuthUser user = ShiroKit.getUser(); + Assert.isFalse(Objects.isNull(user), () -> { + throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); + }); + request.setCreateUserId(user.getId()); + List reportResponseList = handleApprovalStatus(null, request); + iBaseExportService.exportExcel(response, CertificateReportResponse.class, reportResponseList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); } catch (Exception e) { log.error("证书报告导出出现异常,异常信息为{}", e); } @@ -231,15 +244,15 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -251,27 +264,27 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ - approvalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); + if (!CollectionUtils.isEmpty(businessKeys)) { + approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ - rejectApprovalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { + rejectApprovalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -279,7 +292,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.CANCELED); } break; @@ -288,10 +301,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleAllApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), AllApproveList); } break; @@ -299,9 +312,26 @@ return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List allApproveList) { - Map taskMap = new HashMap<>(); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + /** + * 客户、样品详情列表 + */ + @Override + public Page certificateRecordsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception { + Page page = PageFactory.defaultPage(); + Page certificateResponsePage = this.baseMapper.certificateRecordsById(page, customerSampleIdRequest); + for (CertificationResponse customerSampleListResponse : certificateResponsePage.getRecords()) { + if (!StringUtils.isEmpty(customerSampleListResponse.getCertificationClass())) { + DictCodeUtils.convertDictMultiCodeToName(customerSampleListResponse); + } + } + return certificateResponsePage; + } + + private List handleAllApprovalListResponse(List approvalList, List allApproveList) { + Map taskMap = new HashMap<>(); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -313,7 +343,7 @@ return approvalList.stream().sorted(Comparator.comparing(CertificateReportResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, String status){ + private List handleApprovalListResponse(List approvalList, String status) { approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); @@ -324,14 +354,14 @@ private void initCertificateReport(BusinessCertificateReport certificateReport) { String prefix = MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue() - +DateUtil.format(new Date(),"YYYYMM"); + + DateUtil.format(new Date(), "YYYYMM"); Long maxNo = this.baseMapper.selectMaxCode(prefix); //生成证书编号 - String certificateReportNo =NumberGeneratorUtil.getCode( - MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(),maxNo); + String certificateReportNo = NumberGeneratorUtil.getCode( + MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(), maxNo); AuthUser authUser = ShiroKit.getUser(); certificateReport.setCreateUser(authUser.getId()); - certificateReport.setMeasurePersonId(authUser.getId()+""); + certificateReport.setMeasurePersonId(authUser.getId() + ""); certificateReport.setMeasureDeptId(authUser.getDeptId()); certificateReport.setCertificateReportCode(certificateReportNo); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index c4ed5f6..5456773 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -12,13 +12,12 @@ import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; import com.casic.missiles.mapper.business.EnvironmentListResponseMapper; import com.casic.missiles.model.business.BusinessEnvironmentRecord; -import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 859010b..0d847a0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessInterchangeMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; @@ -35,7 +36,7 @@ * 业务管理-设备交接单 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @@ -83,7 +84,7 @@ } /** - * 更新不对样品有任何操作 + * 更新只是交接单的变更,没有任何其他单位的变化 */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { @@ -94,6 +95,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 交接单新增,同时在样品委托书管理表中新增交接单记录id + */ @Override @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { @@ -111,6 +115,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 选中判断ids存在,进行其他条件的清空 + */ @Override public void exportExchange(InterchangeListRequest request, HttpServletResponse response) { try { @@ -153,7 +160,7 @@ private void populationExchange(BusinessInterchange businessInterchange) { Long maxNo = this.baseMapper.selectMaxExchangeNo(); - String orderNo = NumberGeneratorUtil.getContactNo("jjdh", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.INTER_CHANGE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessInterchange.setCreateUser(authUser.getId()); businessInterchange.setInterchangeCode(orderNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java index 585a207..955cc7a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java @@ -13,19 +13,18 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.*; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.HandOutPropertyEnum; -import com.casic.missiles.enums.MeasureStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.HandOutPropertyEnum; +import com.casic.missiles.enums.business.MeasureStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.*; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; -import com.casic.missiles.model.business.BusinessLabExecutiveInfo; -import com.casic.missiles.model.business.BusinessLabExecutiveOperateLog; -import com.casic.missiles.model.business.BusinessLabExecutiveTemplateInfo; +import com.casic.missiles.model.business.*; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; import com.casic.missiles.service.business.IBusinessLabExecutiveTemplateInfoService; @@ -71,6 +70,8 @@ private AbstractDictService dictService; @Autowired private MeterStaffMapper staffMapper; + @Autowired + private BusinessOrderMapper orderMapper; @Override public Page handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) throws Exception{ @@ -377,7 +378,9 @@ if(CollectionUtils.isEmpty(unExecutiveInfos)){ //更新样品状态为检测完 orderSampleRelationMapper.updateByOrderIdAndSampleId(pre.getOrderId(), pre.getSampleId(), SampleStatusEnum.MEASURE_COMPLETE); - // TODO: 2023/2/17 委托书中所有样品检测完更新委托书接收状态为检测完成,需求待定 + + //委托书中所有样品检测完更新委托书接收状态为检测完成,未检测完的数量为0则表示全部检完 + updateOrderStatusComplete(pre); //将检测记录加入到实验室检测模板(仅全部为检测完成的才加入到模板,包含终止的不会加入) List labList = new ArrayList<>(); @@ -407,9 +410,27 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + @Transactional + public void updateOrderStatusComplete(SampleOperateRequest pre) { + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("order_id", pre.getOrderId()); + List statusList = new ArrayList<>(); + statusList.add(SampleStatusEnum.TO_RECEIVE); + statusList.add(SampleStatusEnum.TO_HANDOUT); + statusList.add(SampleStatusEnum.IN_MEASURE); + wrapper1.in("sample_status", statusList); + //同一事务中可查到更新后的数量 + if(orderSampleRelationMapper.selectCount(wrapper1) == 0){ + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(pre.getOrderId()); + businessOrder.setStatus(OrderStatusEnum.COMPLETE); + orderMapper.updateById(businessOrder); + } + } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + String templateCode = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.LAB_EXECUTIVE_TEMPLATE_PREFIX, maxNo + i); templateInfo.setTemplateCode(templateCode); // templateInfo.setSampleTypeId(); templateInfo.setSampleId(lab.getSampleId()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index f5c6f61..1d63554 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -14,6 +14,10 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; +import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; @@ -35,7 +39,6 @@ import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -45,12 +48,12 @@ * 业务管理-委托书 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @AllArgsConstructor -public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { +public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService,PrefixCodeEnum, OrderStatusEnum,SampleStatusEnum, MeasureTypeEnum { private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; @@ -90,8 +93,10 @@ List customerSampleList = new ArrayList<>(); for (BusinessOrderSampleRelation orderSample : orderSampleList) { CustomerSampleInfo customerSampleInfo = customerSampleService.sampleDetail(orderSample.getSampleId()); - customerSampleInfo.setIsExistSample("1"); - customerSampleList.add(customerSampleInfo); + if (null != customerSampleInfo) { + customerSampleInfo.setIsExistSample("1"); + customerSampleList.add(customerSampleInfo); + } } businessOrder.setCustomerSampleInfoList(customerSampleList); return businessOrder; @@ -202,7 +207,13 @@ @Override public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); - String dealType = "委托书" + ((status.equals("2")) ? "接收" : "退回"); + String dealType = ""; + if (status.equals(ALREADY_RECEIVED)) { + dealType = "委托书接收" ; + doUpdateSampleStatus(orderCancelRequest.getId(),TO_RECEIVE); + } else { + dealType = "委托书退回"; + } int addDealRecordFlag = addDealRecord(orderCancelRequest, dealType); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -216,7 +227,7 @@ @Override @Transactional public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { - int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), ALREADY_CANCEL); int addDealRecordFlag = addDealRecord(orderCancelRequest, "委托书取消"); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -250,6 +261,7 @@ return dealRecordMapper.insert(businessDealRecord); } + /** * 强调正在做状态更新 */ @@ -280,12 +292,12 @@ private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); - String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(ORDER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); - businessOrder.setStatus("1"); + businessOrder.setStatus(NOT_RECEIVED); } /** @@ -320,10 +332,23 @@ sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); - sampleStatusPopulation.setMeasureType("1"); + sampleStatusPopulation.setMeasureType(INSIDE_MEASURE); return this.sampleRelationMapper.insert(sampleStatusPopulation); } + /** + * 强调正在做状态更新 + */ + private int doUpdateSampleStatus(Long orderId, String sampleStatus) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", orderId); + BusinessOrderSampleRelation orderSample = new BusinessOrderSampleRelation(); + orderSample.setId(orderId); + orderSample.setSampleStatus(sampleStatus); + return this.sampleRelationMapper.update(orderSample, queryWrapper); + } + + private void doSampleListPopulation(BusinessOrder businessOrder) { businessOrder.getCustomerSampleInfoList().forEach( customerSampleInfo -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java index 1e35b7a..1c602b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java @@ -131,7 +131,7 @@ @Override public ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord) { - if (this.baseMapper.insert(businessOriginalRecord) > 0) { + if (this.baseMapper.updateById(businessOriginalRecord) > 0) { //加入技术文件绑定 if (ObjectUtil.isNotEmpty(businessOriginalRecord.getFileList()) && businessOriginalRecord.getFileList().size() > 0) { originalRecordFileRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getFileList()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java index 07c88e9..c9c1902 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.date.DateUtil; import com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -14,6 +15,7 @@ import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; @@ -29,6 +31,7 @@ import org.springframework.util.ObjectUtils; import javax.servlet.http.HttpServletResponse; +import java.util.Date; import java.util.List; import java.util.Objects; import java.util.Optional; @@ -39,7 +42,7 @@ @Service @Slf4j @AllArgsConstructor -public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService { +public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService, SampleStatusEnum, CurrentSegmentEnum, MeasureTypeEnum { private final BusinessOrderSampleRelationMapper orderSampleRelationMapper; private final BusinessCertificateReportMapper certificateReportMapper; @@ -73,20 +76,20 @@ Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.TO_HANDOUT: + case TO_HANDOUT: //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 - case SampleStatusEnum.IN_MEASURE: + case IN_MEASURE: //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.MEASURE_COMPLETE: + case MEASURE_COMPLETE: doDispatchVoPopulation(dispatchVO, sampleId, orderId); return; //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 - case SampleStatusEnum.BE_OVERDUE: + case BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); @@ -126,12 +129,14 @@ /** - * 状态更新 + * 根据sampleId,orderId,进行状态更新 */ @Override + @Transactional public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { + boolean beforeEventFlag = beforeStatusChange(deviceStatusChangeDTO); Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFlag > 0) { + if (updateFlag > 0 && beforeEventFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -181,8 +186,9 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); +// queryWrapper.ne("order_id", deviceStatusChangeDTO.getOrderId()); BusinessLabExecutiveInfo businessLabExecutiveInfo = new BusinessLabExecutiveInfo(); - businessLabExecutiveInfo.setMeasureStatus(deviceStatusChangeDTO.getStatus()); +// businessLabExecutiveInfo.setMeasureStatus(); businessLabExecutiveInfo.setRemark(deviceStatusChangeDTO.getReason()); labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } @@ -214,6 +220,9 @@ return handOutLabExecutiveDTOOptional.orElse(null); } + /** + * 构建证书的查询条件 + */ private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("order_id", dispatchVO.getOrderId()); @@ -230,7 +239,8 @@ queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); if (terminateFlag) { - queryWrapper.eq("sample_status", "2").or().eq("sample_status", "3").or().eq("sample_status", "4"); + //若是终止,需要对应待分发、检测中、检测完三个状态的变更 + queryWrapper.eq("sample_status", TO_HANDOUT).or().eq("sample_status", IN_MEASURE).or().eq("sample_status", MEASURE_COMPLETE); } BusinessOrderSampleRelation businessOrderSampleRelation = new BusinessOrderSampleRelation(); businessOrderSampleRelation.setSampleStatus(statusChangeDTO.getStatus()); @@ -238,12 +248,12 @@ } /** - * 判断不是自检 + * 判断不是自检,即外包和外检,进行环节设定 */ private boolean notSelfMeasure(DeviceDispatchVO dispatchVO) { if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType())) { - if (MeasureStatusEnum.TO_ALLOCATE.equals(String.valueOf(dispatchVO.getMeasureType())) || MeasureStatusEnum.TO_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { - String currentSegment = MeasureStatusEnum.TO_ALLOCATE.equals(dispatchVO.getMeasureType()) ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; + if (OTHERS_UNDERTAKE.equals(String.valueOf(dispatchVO.getMeasureType())) || OUTSIDE_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { + String currentSegment = OTHERS_UNDERTAKE.equals(dispatchVO.getMeasureType()) ? OUT_UNDERTAKE : OUT_MESASUR; dispatchVO.setCurrentSegment(currentSegment); return true; } @@ -251,6 +261,9 @@ return false; } + /** + * 其他条件的置为空 + */ private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { request.setSampleName(null); request.setSampleNo(null); @@ -264,18 +277,38 @@ } /** - * 判断样品是完成或接收状态,直接显示即可 + * 判断样品是完成或接收状态,进行当前阶段环节的设置 */ private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { - if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + if (TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_INCOME); return true; } - if (SampleStatusEnum.TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); + if (TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_ALLOCATE); return true; } return false; } + private boolean beforeStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(TO_INCOME)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + List orderSampleRelationList = this.orderSampleRelationMapper.selectList(queryWrapper); + Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); + if (orderSampleRelationOptional.isPresent()) { + BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); + if (businessOrderSampleRelation.getSampleStatus().equals(TO_ALLOCATE)) { + BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); + businessOrderSample.setRealDeliverTime(DateUtil.format(new Date(), "yyyy-MM-dd")); + int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); + return updateFlag > 0 ? true : false; + } + } + } + return true; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java index 4f06678..e2fea21 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerAdviceMapper; import com.casic.missiles.mapper.customer.CustomerMapper; @@ -34,7 +35,7 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerAdviceServiceImpl implements CustomerAdviceService { +public class CustomerAdviceServiceImpl implements CustomerAdviceService,PrefixCodeEnum { private final CustomerAdviceMapper customerAdviceMapper; private final IBaseExportService iBaseExportService; @@ -122,7 +123,7 @@ private void initCustomerAdviceInfo(CustomerAdviceInfo customerAdviceInfo) { Long maxNo = customerAdviceMapper.selectMaxAdviceNo(); - String adviceNo = NumberGeneratorUtil.getContactNo("khjy", maxNo); + String adviceNo = NumberGeneratorUtil.getContactNo(CUSTOMER_ADVICE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerAdviceInfo.setCreateUser(authUser.getId()); customerAdviceInfo.setUpdateUser(authUser.getId()); 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 4889e55..f9747dd 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 @@ -10,18 +10,19 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.sample.CertificationExpireStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; import com.casic.missiles.mapper.customer.CustomerMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerSampleListResponseMapper; import com.casic.missiles.mapper.customer.CustomerSampleMapper; -import com.casic.missiles.mapper.customer.customize.MesureRecordsResponseMapper; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -42,13 +43,11 @@ @Service @AllArgsConstructor -public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService { +public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService, CertificationExpireStatusEnum,PrefixCodeEnum{ private final CustomerSampleListResponseMapper customerSampleListResponseMapper; private final CustomerMapper customerMapper; private final IBaseExportService iBaseExportService; - private final CertificationResponseMapper certificationResponseMapper; - private final MesureRecordsResponseMapper mesureResponseMapper; private final BusinessOrderSampleRelationMapper sampleRelationMapper; @Override @@ -58,14 +57,14 @@ customerSamplePage.getRecords() .forEach(customerSample -> { BusinessOrderSampleRelation businessOrderSampleRelation = this.getSampleStatusById(customerSample.getId()); + customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); - customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); } }); for (CustomerSampleListResponse customerSampleListResponse : customerSamplePage.getRecords()) { - if (!StringUtils.isEmpty(customerSampleListResponse.getSampleSatus())) { + if (!StringUtils.isEmpty(customerSampleListResponse.getSampleStatus())) { DictCodeUtils.convertDictCodeToName(customerSampleListResponse); } } @@ -106,14 +105,13 @@ public CustomerSampleInfo sampleDetail(Long id) { CustomerSampleInfo customerSampleInfo = this.baseMapper.selectById(id); if (!ObjectUtils.isEmpty(customerSampleInfo)) { - doCustomerSampleInfoPopulation(customerSampleInfo); + doPopulateCustomerSampleInfo(customerSampleInfo); } return customerSampleInfo; } /** * 只导出样品列表信息 - * */ @Override public void sampleExport(CustomerSampleListRequest request, HttpServletResponse response) { @@ -135,7 +133,7 @@ BusinessOrderSampleRelation businessOrderSampleRelation = businessOrderMap.get(customerSample.getId()); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); } } @@ -159,26 +157,16 @@ } @Override - public Page measureRecordsBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page measureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); + public Page measureRecordsById(CustomerSampleIdRequest customerSampleIdRequest) { + Page page = PageFactory.defaultPage(); + Page measureRecordsResponsePage = this.baseMapper.measureRecordsById(page, customerSampleIdRequest); return measureRecordsResponsePage; } - @Override - public Page certificationBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page certificateResponsePage = certificationResponseMapper.selectPage(page, wrapper); - return certificateResponsePage; - } @Override - public Page samplesByOderId(Page page,Long orderId, String sampleNo, String sampleName) { - return this.baseMapper.samplesByOderId(page,orderId,sampleNo,sampleName); + public Page samplesByOderId(Page page, Long orderId, String sampleNo, String sampleName) { + return this.baseMapper.samplesByOderId(page, orderId, sampleNo, sampleName); } private BusinessOrderSampleRelation getSampleStatusById(Long sampleId) { @@ -190,9 +178,12 @@ return orderSampleOptional.isPresent() ? orderSampleOptional.get() : null; } + /** + * 初始化样品状态 + */ private void initSample(CustomerSampleInfo customerSampleInfo) { Long maxNo = this.baseMapper.selectMaxSampleNo(); - String sampleNo = NumberGeneratorUtil.getContactNo("khyp", maxNo); + String sampleNo = NumberGeneratorUtil.getContactNo(SAMPLE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setSampleNo(sampleNo); customerSampleInfo.setCreateUser(authUser.getId()); @@ -202,7 +193,6 @@ private QueryWrapper listParamWrapper(CustomerSampleListRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.select("id,sample_no,sample_name,sample_model,manufacturing_no,customer_id,measure_period,measure_last_time,remark,valid_deadline"); queryWrapper.like(StringUtils.isNotBlank(request.getSampleNo()), "sample_no", request.getSampleNo()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleName()), "sample_name", request.getSampleName()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleBelong()), "sample_belong", request.getSampleBelong()); @@ -210,9 +200,10 @@ queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); if (!StringUtils.isEmpty(request.getOvertimeStatus())) { - queryWrapper.apply(request.getOvertimeStatus().equals("1"), + queryWrapper.apply("1".equals(request.getOvertimeStatus()), + "sysdate() > DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); - queryWrapper.apply(request.getOvertimeStatus().equals("0"), + queryWrapper.apply("0".equals(request.getOvertimeStatus()), "sysdate() <= DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); } queryWrapper.apply(StringUtils.isNotBlank(request.getStartTime()), @@ -224,24 +215,30 @@ return queryWrapper; } + /** + * 通过证书到期时间进行到期状态的计算 + */ private String calculateCertificationStatus(String validDeadline) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if (StringUtils.isEmpty(validDeadline)) { - return "0"; + return NORMAL; } - if (validDeadline.compareTo(sdf.format(new Date())) > 0) { - return "2"; + if (validDeadline.compareTo(sdf.format(new Date())) < 0) { + return ALREADY_EXPIRE; } Calendar date = Calendar.getInstance(); date.setTime(new Date()); date.add(Calendar.DAY_OF_MONTH, -30); - if (validDeadline.compareTo(sdf.format(date.getTime())) > 0) { - return "1"; + if (validDeadline.compareTo(sdf.format(date.getTime())) < 0) { + return ALMOST_EXPIRE; } - return "0"; + return NORMAL; } - private void doCustomerSampleInfoPopulation(CustomerSampleInfo customerSampleInfo) { + /** + * 对样品列表的进行供应商联系方式的填充 + */ + private void doPopulateCustomerSampleInfo(CustomerSampleInfo customerSampleInfo) { CustomerInfo customerInfo = customerMapper.selectById(customerSampleInfo.getCustomerId()); if (!ObjectUtils.isEmpty(customerInfo)) { customerSampleInfo.setPhone(customerInfo.getPhone()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java index 32d4dee..f6e1f8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java @@ -11,13 +11,12 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerMapper; import com.casic.missiles.mapper.customer.CustomerUserMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerInfoResponseMapper; import com.casic.missiles.mapper.customer.customize.SampleRecordsResponseMapper; import com.casic.missiles.model.customer.CustomerInfo; @@ -38,11 +37,10 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerServiceImpl extends ServiceImpl implements CustomerService { +public class CustomerServiceImpl extends ServiceImpl implements CustomerService,PrefixCodeEnum { private final SampleRecordsResponseMapper sampleRecordsResponseMapper; private final CustomerUserMapper customerUserMapper; - private final CertificationResponseMapper certificationMapper; private final IBaseExportService iBaseExportService; private final CustomerInfoResponseMapper customerInfoResponseMapper; @@ -126,18 +124,9 @@ return contractRecordsResponsePage; } - @Override//暂定不做 - public Page mesureRecordsByCustomerId(Long customerId) { - Page measureRecordsResponsePage = PageFactory.defaultPage(); - return measureRecordsResponsePage; - } - @Override public Page certificationByCustomerId(Long customerId) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("customer_id", customerId); - return certificationMapper.selectPage(page, wrapper); + return null; } @Override @@ -163,8 +152,7 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); - queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "bussiness_size", request.getBusinessSize()); - queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); + queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "business_size", request.getBusinessSize()); queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); queryWrapper.eq("is_del", 0); return queryWrapper; @@ -172,7 +160,7 @@ private void initCustomerInfo(CustomerInfo customerInfo) { Long maxNo = this.baseMapper.selectMaxCustomerNo(); - String customerNo = NumberGeneratorUtil.getContactNo("khxx", maxNo); + String customerNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CUSTOMER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerInfo.setCreateUser(authUser.getId()); customerInfo.setUpdateUser(authUser.getId()); @@ -196,7 +184,7 @@ boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { customerUserInfo.setCustomerId(id); - String customerNo = NumberGeneratorUtil.getContactNo("khyh", maxUserNo++); + String customerNo = NumberGeneratorUtil.getContactNo(CUSTOMER_USER_PREFIX, maxUserNo++); customerUserInfo.setUserNo(customerNo); int userAddNum = customerUserMapper.insert(customerUserInfo); if (userAddNum <= 0) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java index d81a488..77e4caf 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java @@ -13,9 +13,10 @@ import com.casic.missiles.dto.equipment.AcceptanceCheckRequest; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentAcceptanceCheckMapper; @@ -183,7 +184,7 @@ public ReturnDTO addAcceptanceCheck(EquipmentApply equipmentApply) { Long maxNo = equipmentApplyMapper.selectMaxNo(); // 生成编号 - String applyNo = NumberGeneratorUtil.getContactNo("sbjxbyysd", maxNo); + String applyNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.REPAIR_MAINTAIN_PREFIX, maxNo); equipmentApply.setApplyNo(applyNo); // 草稿箱状态 equipmentApply.setApprovalStatus(ApprovalStatusEnum.DRAFT); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java index 38ad4e9..d468012 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java @@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.base.service.IBaseExportService; -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.IdDTO; @@ -20,6 +19,9 @@ import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java index 7c4fdbc..e6a1ff8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.equipment.CheckInfoRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoFileMapper; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoMapper; @@ -79,7 +80,7 @@ @Transactional public ReturnDTO addCheckInfo(EquipmentCheckInfo equipmentCheckInfo) { long maxNo = equipmentCheckInfoMapper.selectMaxNo(); - String checkNo = NumberGeneratorUtil.getContactNo("jc", maxNo); + String checkNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CHECK_PREFIX, maxNo); equipmentCheckInfo.setCheckNo(checkNo); if(equipmentCheckInfoMapper.insert(equipmentCheckInfo) > 0){ Long id = equipmentCheckInfo.getId(); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java index ba6a600..7ff9c16 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.equipment; -import cn.hutool.core.io.unit.DataUnit; import com.alibaba.excel.util.DateUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -13,7 +12,8 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.FixedAssetRequest; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentFixedAssetFileMapper; @@ -131,7 +131,7 @@ validManufacturingNo(meterFixedAssets); //生成资产编号 Long maxNo = meterFixedAssetsMapper.selectMaxNo(); - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); meterFixedAssets.setAssetNo(asset_no); meterFixedAssets.setEquipmentNo(asset_no); meterFixedAssetsMapper.insert(meterFixedAssets); @@ -164,7 +164,7 @@ //需要根据出厂编号判重 validManufacturingNo(item); //生成资产编号 - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); item.setAssetNo(asset_no); item.setEquipmentNo(asset_no); maxNo++; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java index 3e63a5a..2b29aa7 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java @@ -18,6 +18,8 @@ import com.casic.missiles.dto.equipment.StandardEquipmentApplyRequest; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.StandardApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java index caa63a7..afa6905 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java @@ -10,9 +10,9 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.StandardEquipmentRequest; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentFileMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentMapper; -import com.casic.missiles.model.equipment.EquipmentApply; import com.casic.missiles.model.equipment.EquipmentStandardEquipment; import com.casic.missiles.model.equipment.EquipmentStandardEquipmentFile; import com.casic.missiles.model.page.PageQuery; @@ -74,7 +74,7 @@ public ReturnDTO add(EquipmentStandardEquipment meterStandardEquipment) { //生成资产编号 Long maxNo = meterStandardEquipmentMapper.selectMaxNo(); - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); meterStandardEquipment.setStandardNo(standard_no); meterStandardEquipmentMapper.insert(meterStandardEquipment); // 插入文件列表 @@ -129,7 +129,7 @@ } DictCodeUtils.validDictCode(item); //生成资产编号 - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); item.setStandardNo(standard_no); maxNo++; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java index 481cf64..b749b2e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java @@ -2,7 +2,6 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.dto.IdDTO; @@ -12,7 +11,7 @@ import com.casic.missiles.dto.equipment.StateManageResponse; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java index 5dd6f8e..e566e01 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.EquipmentWorkbenchResponse; -import com.casic.missiles.enums.ApplyFromIdEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java index f3b9c4f..485287a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java @@ -6,7 +6,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.system.dao.DeptMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java index ce076b0..c20feb0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java @@ -4,7 +4,6 @@ import cn.hutool.core.lang.Assert; import cn.hutool.core.util.ObjectUtil; import com.alibaba.excel.util.DateUtils; -import com.alibaba.excel.util.StringUtils; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -22,18 +21,18 @@ import com.casic.missiles.dto.meter.MeterCertificateImport; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.enums.*; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterRoleTypeEnum; +import com.casic.missiles.enums.workbench.MessageTypeEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.meter.MeterCertificateExpireMessageMapper; import com.casic.missiles.mapper.meter.MeterCertificateMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.sys.UserInfoMapper; import com.casic.missiles.mapper.workbench.WorkbenchRemindMessageMapper; import com.casic.missiles.model.meter.MeterCertificate; -import com.casic.missiles.model.meter.MeterCertificateExpireMessage; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.model.system.UserInfo; import com.casic.missiles.model.workbench.WorkbenchRemindMessage; -import com.casic.missiles.service.meter.MeterCertificateExpireMessageService; import com.casic.missiles.service.meter.MeterCertificateService; import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; import com.casic.missiles.utils.ExportUtils; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java index ecf1fc3..e84f4d6 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java @@ -17,10 +17,11 @@ import com.casic.missiles.dto.meter.FileApprovalListResponse; import com.casic.missiles.dto.meter.FileListRequest; import com.casic.missiles.dto.meter.FileSaveResponse; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EffectiveStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.EffectiveStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterFileMapper; import com.casic.missiles.model.meter.MeterFile; @@ -92,7 +93,7 @@ public ReturnDTO saveFile(MeterFile file) { //生成文件编号 Long maxNo = meterFileMapper.selectMaxFileNo(); - String fileNo = NumberGeneratorUtil.getContactNo("jlwj", maxNo); + String fileNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FILE_PREFIX, maxNo); file.setFileNo(fileNo); file.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 Assert.isFalse(Objects.isNull(ShiroKit.getUser()), () -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java index 000e58a..467f03d 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java @@ -10,7 +10,8 @@ import com.casic.missiles.dto.meter.ParentDeptRequest; import com.casic.missiles.dto.meter.ParentDeptResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.model.meter.MeterOrganize; @@ -101,7 +102,7 @@ public int addOrganize(Dept dept) { //生成组织编号 Long maxNo = organizeMapper.selectMaxOrganizeNo(); - String organizeNo = NumberGeneratorUtil.getContactNo("jlzz", maxNo); + String organizeNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.ORGANIZE_PREFIX, maxNo); MeterOrganize meterOrganize = new MeterOrganize(); meterOrganize.setDeptId(dept.getId()); meterOrganize.setPDeptId(dept.getPid()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java index 7c3f9cf..643ba4c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java @@ -13,7 +13,8 @@ import com.casic.missiles.dto.meter.MeterPriceRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterPriceCategoryMapper; import com.casic.missiles.mapper.meter.MeterPriceItemMapper; @@ -83,7 +84,7 @@ MeterPriceItem item = new MeterPriceItem(null,priceCategory.getId(),meterPrice.getItemName()); if(categoryFlag>0 && meterPriceItemMapper.insert(item)>0){ Long maxNo = meterPriceMapper.getMaxNo(); - String priceNo = NumberGeneratorUtil.getContactNo("jg", maxNo); + String priceNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.PRICE_PREFIX, maxNo); meterPrice.setPriceNo(priceNo); meterPrice.setPriceType(priceCategory.getId().toString()); meterPrice.setPriceItem(item.getId().toString()); @@ -178,7 +179,7 @@ // 校验通过 AtomicLong maxNo = new AtomicLong(meterPriceMapper.getMaxNo()); list.forEach(bean->{ - String priceNo = NumberGeneratorUtil.getContactNo("jg", maxNo.get()); + String priceNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.PRICE_PREFIX, maxNo.get()); maxNo.set(Long.parseLong(priceNo.substring(2))); Long id= IdWorker.getId(); bean.setId(id); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java index 7c4a1a1..f79bb8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java @@ -15,7 +15,8 @@ import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterCertificateMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; @@ -42,7 +43,6 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; -import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.concurrent.atomic.AtomicBoolean; @@ -139,7 +139,7 @@ } long maxNo = meterStaffMapper.getMaxNo(); meterStaff.setIsDel(0); - String staffNo = NumberGeneratorUtil.getContactNo("jlry", maxNo); + String staffNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STAFF_PREFIX, maxNo); meterStaff.setStaffNo(staffNo); if(meterStaffMapper.insert(meterStaff)>0){ Long id = meterStaff.getId(); @@ -263,7 +263,7 @@ AtomicLong maxNo = new AtomicLong(meterStaffMapper.getMaxNo()); list.forEach(bean->{ // 生成编号 - String staffNo = NumberGeneratorUtil.getContactNo("jlry", maxNo.get()); + String staffNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STAFF_PREFIX, maxNo.get()); maxNo.set(Long.parseLong(staffNo.substring(4))); bean.setStaffNo(staffNo); // 获取id diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java index 535581f..0beebb1 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java @@ -14,9 +14,10 @@ import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.meter.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterTraceSupplierMapper; import com.casic.missiles.model.meter.MeterTraceSupplier; @@ -92,7 +93,7 @@ public ReturnDTO saveTraceSupplier(MeterTraceSupplier traceSupplier) { //生成编号 Long maxNo = traceSupplierMapper.selectMaxSupplierNo(); - String supplierNo = NumberGeneratorUtil.getContactNo("sygf", maxNo); + String supplierNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.TRACE_SUPPLIER_PREFIX, maxNo); traceSupplier.setSupplierNo(supplierNo); traceSupplier.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 Assert.isFalse(Objects.isNull(ShiroKit.getUser()), () -> { @@ -106,7 +107,7 @@ //存储溯源供方人员信息 boolean saveBatchFlag = true; List traceSupplierPersonList = traceSupplier.getTraceSupplierPersonList(); - if(!CollectionUtils.isEmpty(traceSupplierPersonList)){ + if (!CollectionUtils.isEmpty(traceSupplierPersonList)) { traceSupplierPersonList.forEach(person -> { person.setSupplierId(traceSupplier.getId()); }); @@ -119,7 +120,7 @@ //存储溯源供方标准装置信息 boolean saveBatchFlag2 = true; List standardEquipmentIds = traceSupplier.getStandardEquipmentIds(); - if(!CollectionUtils.isEmpty(standardEquipmentIds)){ + if (!CollectionUtils.isEmpty(standardEquipmentIds)) { List equipmentList = new ArrayList<>(); standardEquipmentIds.forEach(id -> { MeterTraceSupplierStandardEquipment equipment = new MeterTraceSupplierStandardEquipment(); @@ -154,7 +155,7 @@ traceSupplierPersonService.remove(wrapper); boolean saveFlag = true; //溯源供方人员可能为空 - if(!CollectionUtils.isEmpty(traceSupplierPersonList)){ + if (!CollectionUtils.isEmpty(traceSupplierPersonList)) { //再增加 traceSupplierPersonList.forEach(person -> { person.setSupplierId(traceSupplier.getId()); @@ -169,7 +170,7 @@ meterTraceSupplierStandardEquipmentService.remove(wrapper1); boolean saveBatchFlag2 = true; List standardEquipmentIds = traceSupplier.getStandardEquipmentIds(); - if(!CollectionUtils.isEmpty(standardEquipmentIds)){ + if (!CollectionUtils.isEmpty(standardEquipmentIds)) { List equipmentList = new ArrayList<>(); standardEquipmentIds.forEach(id -> { MeterTraceSupplierStandardEquipment equipment = new MeterTraceSupplierStandardEquipment(); @@ -195,10 +196,10 @@ String formId = request.getFormId(); ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); MeterTraceSupplier traceSupplier = new MeterTraceSupplier(); traceSupplier.setId(request.getId()); @@ -225,9 +226,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //本地删除 - if(traceSupplierMapper.deleteById(request.getId()) > 0){ + if (traceSupplierMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -267,16 +268,16 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -288,7 +289,7 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.IN_APPROVED); } @@ -296,7 +297,7 @@ //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.PASSED); } @@ -305,12 +306,12 @@ case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { List rejectList = traceSupplierMapper.selectBatchForApproval(page, request, rejectBusinessKey); rejectApprovalList = handleApprovalListResponse(approvalList, rejectList, ApprovalStatusEnum.FAILED_REJECT); } @@ -320,7 +321,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.CANCELED); } @@ -330,10 +331,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleAllApprovalListResponse(approvalList, list, AllApproveList); } @@ -343,9 +344,11 @@ } private List handleAllApprovalListResponse(List approvalList, List list, List allApproveList) { - Map taskMap = new HashMap<>(); + Map taskMap = new HashMap<>(); approvalList = ConvertUtils.sourceToTarget(list, TraceSupplierApprovalListResponse.class); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -369,7 +372,7 @@ @Override public ReturnDTO deleteTraceSupplier(Long id) { - if(traceSupplierMapper.deleteById(id) > 0){ + if (traceSupplierMapper.deleteById(id) > 0) { return ReturnUtil.success(); } return ReturnUtil.failed("刪除失败"); @@ -377,7 +380,7 @@ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - if(traceSupplierMapper.deleteBatchIds(ids) > 0){ + if (traceSupplierMapper.deleteBatchIds(ids) > 0) { return ReturnUtil.success(); } return ReturnUtil.failed("删除失败"); @@ -400,6 +403,7 @@ wrapper.eq("id", 12344321); return wrapper; } + wrapper.like(StringUtils.isNotBlank(request.getSupplierNo()), "supplier_no", request.getSupplierNo()); wrapper.like(StringUtils.isNotBlank(request.getSupplierName()), "supplier_name", request.getSupplierName()); wrapper.like(StringUtils.isNotBlank(request.getBusinessContent()), "business_content", request.getBusinessContent()); @@ -409,7 +413,7 @@ return wrapper; } - private List handleApprovalListResponse(List approvalList, List list, String status){ + private List handleApprovalListResponse(List approvalList, List list, String status) { approvalList = ConvertUtils.sourceToTarget(list, TraceSupplierApprovalListResponse.class); approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java index 0fd9403..bec30c8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.meter.TrainLogListRequest; import com.casic.missiles.dto.meter.TrainLogUpdateRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterTrainLogMapper; import com.casic.missiles.mapper.meter.MeterTrainStaffMapper; @@ -58,7 +59,7 @@ public ReturnDTO addTrainLog(TrainLogAddRequest request) { //生成编号 Long maxNo = trainLogMapper.selectMaxTrainLogNo(); - String logNo = NumberGeneratorUtil.getContactNo("pxjl", maxNo); + String logNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.TRAIN_LOG_PREFIX, maxNo); MeterTrainLog meterTrainLog = ConvertUtils.sourceToTarget(request, MeterTrainLog.class); meterTrainLog.setLogNo(logNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java index e4f4dcb..e3d0750 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java @@ -14,9 +14,10 @@ import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.meter.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.meter.MeterTrainPlanMapper; @@ -98,7 +99,7 @@ public ReturnDTO saveTrainPlan(MeterTrainPlan trainPlan) { //生成编号 Long maxNo = trainPlanMapper.selectMaxTrainPlanNo(); - String planNo = NumberGeneratorUtil.getContactNo("pxjh", maxNo); + String planNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.TRAIN_PLAN_PREFIX, maxNo); trainPlan.setPlanNo(planNo); trainPlan.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 Assert.isFalse(Objects.isNull(ShiroKit.getUser()), () -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterWorkbenchServiceImpl.java index 663d024..921ae71 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterWorkbenchServiceImpl.java @@ -10,8 +10,8 @@ import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.dto.meter.MeterWorkbenchRequest; import com.casic.missiles.dto.meter.MeterWorkbenchResponse; -import com.casic.missiles.enums.ExamResultEnum; -import com.casic.missiles.enums.MeterRoleTypeEnum; +import com.casic.missiles.enums.meter.ExamResultEnum; +import com.casic.missiles.enums.meter.MeterRoleTypeEnum; import com.casic.missiles.mapper.meter.MeterCertificateMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.meter.MeterTrainPlanMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java index 163c77f..5d76a52 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.system.FlowListRequest; import com.casic.missiles.dto.system.FlowProcDefDTO; import com.casic.missiles.dto.system.FlowUpdateStateRequest; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.FlowDefMapper; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java index dcebbbd..f59ae28 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.system.NoticeAddRequest; import com.casic.missiles.dto.system.NoticeListRequest; import com.casic.missiles.dto.system.NoticeReadRequest; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.system.SystemNoticeMapper; import com.casic.missiles.mapper.system.SystemNoticeUserRelationMapper; import com.casic.missiles.model.system.SystemNotice; @@ -56,7 +57,7 @@ public ReturnDTO addNotice(NoticeAddRequest noticeAddRequest) { //生成编号 Long maxNo = noticeMapper.selectMaxNoticeNo(); - String noticeNo = NumberGeneratorUtil.getContactNo("tzgg", maxNo); + String noticeNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.NOTICE_PREFIX, maxNo); noticeAddRequest.setNoticeNo(noticeNo); SystemNotice systemNotice = ConvertUtils.sourceToTarget(noticeAddRequest, SystemNotice.class); int insertFlag = noticeMapper.insert(systemNotice); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemSignServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemSignServiceImpl.java index dffd29b..3bc7d81 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemSignServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemSignServiceImpl.java @@ -8,6 +8,7 @@ import com.casic.missiles.dto.system.SignAddRequest; import com.casic.missiles.dto.system.SignDetailResponse; import com.casic.missiles.dto.system.SignListRequest; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.system.SystemSignMapper; import com.casic.missiles.mapper.system.SystemSignUserRelationMapper; import com.casic.missiles.model.system.SystemSign; @@ -72,17 +73,16 @@ public ReturnDTO addSign(SignAddRequest request) { //生成编号 Long maxNo = signMapper.selectMaxSignNo(); - String signNo = NumberGeneratorUtil.getContactNo("qmqz", maxNo); //签名签章编号一起 + String signNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.SIGN_PREFIX, maxNo); //签名签章编号一起 SystemSign systemSign = ConvertUtils.sourceToTarget(request, SystemSign.class); systemSign.setSignNo(signNo); int insertFlag = signMapper.insert(systemSign); //关联表 - //签名无可使用人,签章有可使用人 - boolean saveBatch = true; - if("2".equals(request.getSignType())){ - List userRelationList = getUserRelations(request.getUserIdList(), systemSign.getId()); - saveBatch = userRelationService.saveBatch(userRelationList); - } + //签名/签章可使用人 + List userIdList = request.getUserIdList(); + userIdList.add(request.getSignUserId()); //添加签名本人 + List userRelationList = getUserRelations(userIdList, systemSign.getId()); + boolean saveBatch = userRelationService.saveBatch(userRelationList); if(insertFlag > 0 && saveBatch){ return ReturnUtil.success(); } @@ -94,16 +94,15 @@ public ReturnDTO updateSign(SystemSign systemSign) { int updateFlag = signMapper.updateById(systemSign); //关联表 - //签章有可使用人 - int deleteFlag = 1; - boolean saveBatch = true; - if("2".equals(systemSign.getSignType())){ - Map columnMap = new HashMap<>(); - columnMap.put("sign_id", systemSign.getId()); - deleteFlag = userRelationMapper.deleteByMap(columnMap); - List userRelationList = getUserRelations(systemSign.getUserIdList(), systemSign.getId()); - saveBatch = userRelationService.saveBatch(userRelationList); - } + //签名/签章可使用人 + Map columnMap = new HashMap<>(); + columnMap.put("sign_id", systemSign.getId()); + int deleteFlag = userRelationMapper.deleteByMap(columnMap); + List userIdList = systemSign.getUserIdList(); + userIdList.add(systemSign.getSignUserId()); + List userRelationList = getUserRelations(systemSign.getUserIdList(), systemSign.getId()); + boolean saveBatch = userRelationService.saveBatch(userRelationList); + if(updateFlag > 0 && deleteFlag > 0 && saveBatch){ return ReturnUtil.success(); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemTemplateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemTemplateServiceImpl.java index 8ac39b3..4d6aa00 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemTemplateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemTemplateServiceImpl.java @@ -8,6 +8,7 @@ import com.casic.missiles.dto.system.TemplateAddRequest; import com.casic.missiles.dto.system.TemplateDetailResponse; import com.casic.missiles.dto.system.TemplateListRequest; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.system.SystemTemplateMapper; import com.casic.missiles.mapper.system.SystemTemplateUserRelationMapper; import com.casic.missiles.model.system.SystemTemplate; @@ -66,7 +67,7 @@ public ReturnDTO addTemplate(TemplateAddRequest request) { //生成编号 Long maxNo = templateMapper.selectMaxTemplateNo(); - String templateNo = NumberGeneratorUtil.getContactNo("jlbg", maxNo); //原始记录模板证书报告模板编号一起 + String templateNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.TEMPLATE_PREFIX, maxNo); //原始记录模板证书报告模板编号一起 SystemTemplate systemTemplate = ConvertUtils.sourceToTarget(request, SystemTemplate.class); systemTemplate.setTemplateNo(templateNo); int insertFlag = templateMapper.insert(systemTemplate); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchRemindMessageServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchRemindMessageServiceImpl.java index 58ce952..6f6d1b2 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchRemindMessageServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchRemindMessageServiceImpl.java @@ -61,9 +61,9 @@ wrapper.eq(StringUtils.isNotBlank(request.getMessageType()), "message_type", request.getMessageType()); wrapper.eq("status", 0); wrapper.apply(StringUtils.isNotBlank(request.getStartTime()), - "{0} <= DATE_FORMAT(train_time,'%Y-%m-%d')", request.getStartTime().split(" ")[0]); + "{0} <= DATE_FORMAT(create_time,'%Y-%m-%d')", request.getStartTime().split(" ")[0]); wrapper.apply(StringUtils.isNotBlank(request.getEndTime()), - "{0} >= DATE_FORMAT(train_time,'%Y-%m-%d')", request.getEndTime().split(" ")[0]); + "{0} >= DATE_FORMAT(create_time,'%Y-%m-%d')", request.getEndTime().split(" ")[0]); wrapper.orderByDesc("create_time"); return wrapper; } 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 89787de..8e91c42 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 @@ -6,7 +6,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.business.certificate.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; -import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; +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.model.business.BusinessCertificateReport; @@ -41,4 +42,6 @@ void originExport(CertificateReportApprovalRequest request, HttpServletResponse response); + Page certificateRecordsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception; + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessInterchangeService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessInterchangeService.java index 54e2757..50ca6e2 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessInterchangeService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessInterchangeService.java @@ -14,7 +14,7 @@ * 业务管理-设备交接单 服务类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ public interface IBusinessInterchangeService extends IService { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java new file mode 100644 index 0000000..e196dda --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Builder; +import lombok.Data; + +/** + * @author cz + */ +@Data +@Builder +public class NotifyEventStatusDTO { + + /** + * 业务表主键 + */ + private String id; + /** + * 业务表状态 + */ + private String status; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java index 65c19e3..0f3e84f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java @@ -74,7 +74,7 @@ /** * 部门/科室/工程组名称 */ - @ExcelProperty("组织编号") + @ExcelProperty("组织名称") @ApiModelProperty(value = "计量组织名称", dataType = "String", required = true) @NotBlank(message = "计量组织名称不能为空") @TableField("organize_name") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java index 54dc5cd..244e431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java @@ -84,7 +84,7 @@ * 签名用户id(一个用户一个签名,签名不使用关联表,签章暂时使用和使用人的关联表) */ @TableField("sign_user_id") - private String signUserId; + private Long signUserId; /** * 签章或签名-字典code diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java index ca20ca4..0e94b9e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 2f97cb3..fdc4bf0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -3,7 +3,6 @@ import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -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; @@ -17,9 +16,10 @@ import com.casic.missiles.dto.flowable.ApprovalAgreeRequest; import com.casic.missiles.dto.flowable.ApprovalRefuseRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -42,10 +42,9 @@ */ @Service @AllArgsConstructor -public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { +public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService, CertificatePrintStatusEnum { private final IBaseApprovalService baseApprovalService; - private final AbstractDictService dictService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; @@ -86,7 +85,7 @@ } /** - * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 * * @return */ @@ -103,7 +102,7 @@ BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); //设置为不能打印 - certificateReport.setPrintStatus("2"); + certificateReport.setPrintStatus(NON_PRINTABLE); certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { @@ -113,7 +112,7 @@ } /** - * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 */ @Transactional @Override @@ -128,7 +127,7 @@ //审批状态为审批中 certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //打印状态审批中 - certificateReport.setPrintStatus("3"); + certificateReport.setPrintStatus(IN_APPROVAL); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -142,7 +141,7 @@ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)&&CollectionUtils.isEmpty(request.getIds())) { - handlerBeApproved(approvalList, page, request); + approvalList=handlerBeApproved(approvalList, page, request); }else { approvalList=this.baseMapper.selectBatchForApprovalList(page, request, null); } 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 d03ab22..164c53a 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,17 +7,22 @@ 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.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; -import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +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.MonitorCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -26,9 +31,9 @@ import com.casic.missiles.service.business.IBusinessCertificateReportService; import com.casic.missiles.service.business.IBusinessOriginalRecordService; import com.casic.missiles.service.flowable.ApprovalOperateService; -import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; +import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.runtime.ProcessInstance; @@ -68,8 +73,10 @@ private RuntimeService runtimeService; @Resource private IBaseExportService iBaseExportService; + /** * 保存证书报告信息 + * * @param certificateReport * @return */ @@ -77,7 +84,7 @@ public ReturnDTO saveCertificateReport(BusinessCertificateReport certificateReport) { initCertificateReport(certificateReport); - if(this.baseMapper.insert(certificateReport)>0) + if (this.baseMapper.insert(certificateReport) > 0) return ReturnUtil.success(); throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -90,9 +97,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //删除数据库记录 - if(this.baseMapper.deleteById(request.getId()) > 0){ + if (this.baseMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -101,7 +108,7 @@ @Override public ReturnDTO draftUpdate(BusinessCertificateReport certificateReport) { - if(this.baseMapper.updateById(certificateReport)>0){ + if (this.baseMapper.updateById(certificateReport) > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -109,25 +116,27 @@ /** * 批量删除 + * * @param ids * @return */ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - return baseMapper.deleteBatchIds(ids) > 0?ReturnUtil.success(): + return baseMapper.deleteBatchIds(ids) > 0 ? ReturnUtil.success() : ReturnUtil.failed("删除失败"); } /** * 证书报告详情 + * * @param id * @return */ @Override public BusinessCertificateReport certificateReportDetail(Long id) { BusinessCertificateReport certificateReport = this.baseMapper.selectById(id); - if(certificateReport.getOriginalRecordId()!=null){ + if (certificateReport.getOriginalRecordId() != null) { try { certificateReport.setBusinessOriginalRecord(originalRecordService.originalDetail(certificateReport.getOriginalRecordId())); } catch (Exception e) { @@ -139,6 +148,7 @@ /** * 提交证书报告 + * * @param request * @return */ @@ -148,10 +158,10 @@ String formId = request.getFormId(); //2.根据流程定义id启动流程实例 ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); certificateReport.setApprovalStatus(ApprovalStatusEnum.UN_DRAFT); //非草稿状态 @@ -165,6 +175,7 @@ /** * 审批状态列表查询 + * * @param page * @param request * @return @@ -182,6 +193,7 @@ /** * 驳回后更新 + * * @param certificateReport * @return */ @@ -208,13 +220,14 @@ @Override public void originExport(CertificateReportApprovalRequest request, HttpServletResponse response) { try { - //toDo: -// List certificateReportResponses = this.certificateReport(request); -// for (OriginRecordResponse originRecordResponse : originExportList) { -// //字典值转换 -// DictCodeUtils.convertDictCodeToName(originRecordResponse); -// } -// iBaseExportService.exportExcel(response, CertificateReportResponse.class, originExportList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); + //登录用户 + AuthUser user = ShiroKit.getUser(); + Assert.isFalse(Objects.isNull(user), () -> { + throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); + }); + request.setCreateUserId(user.getId()); + List reportResponseList = handleApprovalStatus(null, request); + iBaseExportService.exportExcel(response, CertificateReportResponse.class, reportResponseList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); } catch (Exception e) { log.error("证书报告导出出现异常,异常信息为{}", e); } @@ -231,15 +244,15 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -251,27 +264,27 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ - approvalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); + if (!CollectionUtils.isEmpty(businessKeys)) { + approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ - rejectApprovalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { + rejectApprovalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -279,7 +292,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.CANCELED); } break; @@ -288,10 +301,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleAllApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), AllApproveList); } break; @@ -299,9 +312,26 @@ return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List allApproveList) { - Map taskMap = new HashMap<>(); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + /** + * 客户、样品详情列表 + */ + @Override + public Page certificateRecordsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception { + Page page = PageFactory.defaultPage(); + Page certificateResponsePage = this.baseMapper.certificateRecordsById(page, customerSampleIdRequest); + for (CertificationResponse customerSampleListResponse : certificateResponsePage.getRecords()) { + if (!StringUtils.isEmpty(customerSampleListResponse.getCertificationClass())) { + DictCodeUtils.convertDictMultiCodeToName(customerSampleListResponse); + } + } + return certificateResponsePage; + } + + private List handleAllApprovalListResponse(List approvalList, List allApproveList) { + Map taskMap = new HashMap<>(); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -313,7 +343,7 @@ return approvalList.stream().sorted(Comparator.comparing(CertificateReportResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, String status){ + private List handleApprovalListResponse(List approvalList, String status) { approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); @@ -324,14 +354,14 @@ private void initCertificateReport(BusinessCertificateReport certificateReport) { String prefix = MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue() - +DateUtil.format(new Date(),"YYYYMM"); + + DateUtil.format(new Date(), "YYYYMM"); Long maxNo = this.baseMapper.selectMaxCode(prefix); //生成证书编号 - String certificateReportNo =NumberGeneratorUtil.getCode( - MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(),maxNo); + String certificateReportNo = NumberGeneratorUtil.getCode( + MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(), maxNo); AuthUser authUser = ShiroKit.getUser(); certificateReport.setCreateUser(authUser.getId()); - certificateReport.setMeasurePersonId(authUser.getId()+""); + certificateReport.setMeasurePersonId(authUser.getId() + ""); certificateReport.setMeasureDeptId(authUser.getDeptId()); certificateReport.setCertificateReportCode(certificateReportNo); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index c4ed5f6..5456773 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -12,13 +12,12 @@ import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; import com.casic.missiles.mapper.business.EnvironmentListResponseMapper; import com.casic.missiles.model.business.BusinessEnvironmentRecord; -import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 859010b..0d847a0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessInterchangeMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; @@ -35,7 +36,7 @@ * 业务管理-设备交接单 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @@ -83,7 +84,7 @@ } /** - * 更新不对样品有任何操作 + * 更新只是交接单的变更,没有任何其他单位的变化 */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { @@ -94,6 +95,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 交接单新增,同时在样品委托书管理表中新增交接单记录id + */ @Override @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { @@ -111,6 +115,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 选中判断ids存在,进行其他条件的清空 + */ @Override public void exportExchange(InterchangeListRequest request, HttpServletResponse response) { try { @@ -153,7 +160,7 @@ private void populationExchange(BusinessInterchange businessInterchange) { Long maxNo = this.baseMapper.selectMaxExchangeNo(); - String orderNo = NumberGeneratorUtil.getContactNo("jjdh", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.INTER_CHANGE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessInterchange.setCreateUser(authUser.getId()); businessInterchange.setInterchangeCode(orderNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java index 585a207..955cc7a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java @@ -13,19 +13,18 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.*; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.HandOutPropertyEnum; -import com.casic.missiles.enums.MeasureStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.HandOutPropertyEnum; +import com.casic.missiles.enums.business.MeasureStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.*; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; -import com.casic.missiles.model.business.BusinessLabExecutiveInfo; -import com.casic.missiles.model.business.BusinessLabExecutiveOperateLog; -import com.casic.missiles.model.business.BusinessLabExecutiveTemplateInfo; +import com.casic.missiles.model.business.*; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; import com.casic.missiles.service.business.IBusinessLabExecutiveTemplateInfoService; @@ -71,6 +70,8 @@ private AbstractDictService dictService; @Autowired private MeterStaffMapper staffMapper; + @Autowired + private BusinessOrderMapper orderMapper; @Override public Page handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) throws Exception{ @@ -377,7 +378,9 @@ if(CollectionUtils.isEmpty(unExecutiveInfos)){ //更新样品状态为检测完 orderSampleRelationMapper.updateByOrderIdAndSampleId(pre.getOrderId(), pre.getSampleId(), SampleStatusEnum.MEASURE_COMPLETE); - // TODO: 2023/2/17 委托书中所有样品检测完更新委托书接收状态为检测完成,需求待定 + + //委托书中所有样品检测完更新委托书接收状态为检测完成,未检测完的数量为0则表示全部检完 + updateOrderStatusComplete(pre); //将检测记录加入到实验室检测模板(仅全部为检测完成的才加入到模板,包含终止的不会加入) List labList = new ArrayList<>(); @@ -407,9 +410,27 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + @Transactional + public void updateOrderStatusComplete(SampleOperateRequest pre) { + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("order_id", pre.getOrderId()); + List statusList = new ArrayList<>(); + statusList.add(SampleStatusEnum.TO_RECEIVE); + statusList.add(SampleStatusEnum.TO_HANDOUT); + statusList.add(SampleStatusEnum.IN_MEASURE); + wrapper1.in("sample_status", statusList); + //同一事务中可查到更新后的数量 + if(orderSampleRelationMapper.selectCount(wrapper1) == 0){ + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(pre.getOrderId()); + businessOrder.setStatus(OrderStatusEnum.COMPLETE); + orderMapper.updateById(businessOrder); + } + } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + String templateCode = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.LAB_EXECUTIVE_TEMPLATE_PREFIX, maxNo + i); templateInfo.setTemplateCode(templateCode); // templateInfo.setSampleTypeId(); templateInfo.setSampleId(lab.getSampleId()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index f5c6f61..1d63554 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -14,6 +14,10 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; +import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; @@ -35,7 +39,6 @@ import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -45,12 +48,12 @@ * 业务管理-委托书 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @AllArgsConstructor -public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { +public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService,PrefixCodeEnum, OrderStatusEnum,SampleStatusEnum, MeasureTypeEnum { private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; @@ -90,8 +93,10 @@ List customerSampleList = new ArrayList<>(); for (BusinessOrderSampleRelation orderSample : orderSampleList) { CustomerSampleInfo customerSampleInfo = customerSampleService.sampleDetail(orderSample.getSampleId()); - customerSampleInfo.setIsExistSample("1"); - customerSampleList.add(customerSampleInfo); + if (null != customerSampleInfo) { + customerSampleInfo.setIsExistSample("1"); + customerSampleList.add(customerSampleInfo); + } } businessOrder.setCustomerSampleInfoList(customerSampleList); return businessOrder; @@ -202,7 +207,13 @@ @Override public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); - String dealType = "委托书" + ((status.equals("2")) ? "接收" : "退回"); + String dealType = ""; + if (status.equals(ALREADY_RECEIVED)) { + dealType = "委托书接收" ; + doUpdateSampleStatus(orderCancelRequest.getId(),TO_RECEIVE); + } else { + dealType = "委托书退回"; + } int addDealRecordFlag = addDealRecord(orderCancelRequest, dealType); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -216,7 +227,7 @@ @Override @Transactional public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { - int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), ALREADY_CANCEL); int addDealRecordFlag = addDealRecord(orderCancelRequest, "委托书取消"); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -250,6 +261,7 @@ return dealRecordMapper.insert(businessDealRecord); } + /** * 强调正在做状态更新 */ @@ -280,12 +292,12 @@ private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); - String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(ORDER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); - businessOrder.setStatus("1"); + businessOrder.setStatus(NOT_RECEIVED); } /** @@ -320,10 +332,23 @@ sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); - sampleStatusPopulation.setMeasureType("1"); + sampleStatusPopulation.setMeasureType(INSIDE_MEASURE); return this.sampleRelationMapper.insert(sampleStatusPopulation); } + /** + * 强调正在做状态更新 + */ + private int doUpdateSampleStatus(Long orderId, String sampleStatus) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", orderId); + BusinessOrderSampleRelation orderSample = new BusinessOrderSampleRelation(); + orderSample.setId(orderId); + orderSample.setSampleStatus(sampleStatus); + return this.sampleRelationMapper.update(orderSample, queryWrapper); + } + + private void doSampleListPopulation(BusinessOrder businessOrder) { businessOrder.getCustomerSampleInfoList().forEach( customerSampleInfo -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java index 1e35b7a..1c602b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java @@ -131,7 +131,7 @@ @Override public ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord) { - if (this.baseMapper.insert(businessOriginalRecord) > 0) { + if (this.baseMapper.updateById(businessOriginalRecord) > 0) { //加入技术文件绑定 if (ObjectUtil.isNotEmpty(businessOriginalRecord.getFileList()) && businessOriginalRecord.getFileList().size() > 0) { originalRecordFileRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getFileList()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java index 07c88e9..c9c1902 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.date.DateUtil; import com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -14,6 +15,7 @@ import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; @@ -29,6 +31,7 @@ import org.springframework.util.ObjectUtils; import javax.servlet.http.HttpServletResponse; +import java.util.Date; import java.util.List; import java.util.Objects; import java.util.Optional; @@ -39,7 +42,7 @@ @Service @Slf4j @AllArgsConstructor -public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService { +public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService, SampleStatusEnum, CurrentSegmentEnum, MeasureTypeEnum { private final BusinessOrderSampleRelationMapper orderSampleRelationMapper; private final BusinessCertificateReportMapper certificateReportMapper; @@ -73,20 +76,20 @@ Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.TO_HANDOUT: + case TO_HANDOUT: //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 - case SampleStatusEnum.IN_MEASURE: + case IN_MEASURE: //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.MEASURE_COMPLETE: + case MEASURE_COMPLETE: doDispatchVoPopulation(dispatchVO, sampleId, orderId); return; //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 - case SampleStatusEnum.BE_OVERDUE: + case BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); @@ -126,12 +129,14 @@ /** - * 状态更新 + * 根据sampleId,orderId,进行状态更新 */ @Override + @Transactional public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { + boolean beforeEventFlag = beforeStatusChange(deviceStatusChangeDTO); Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFlag > 0) { + if (updateFlag > 0 && beforeEventFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -181,8 +186,9 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); +// queryWrapper.ne("order_id", deviceStatusChangeDTO.getOrderId()); BusinessLabExecutiveInfo businessLabExecutiveInfo = new BusinessLabExecutiveInfo(); - businessLabExecutiveInfo.setMeasureStatus(deviceStatusChangeDTO.getStatus()); +// businessLabExecutiveInfo.setMeasureStatus(); businessLabExecutiveInfo.setRemark(deviceStatusChangeDTO.getReason()); labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } @@ -214,6 +220,9 @@ return handOutLabExecutiveDTOOptional.orElse(null); } + /** + * 构建证书的查询条件 + */ private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("order_id", dispatchVO.getOrderId()); @@ -230,7 +239,8 @@ queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); if (terminateFlag) { - queryWrapper.eq("sample_status", "2").or().eq("sample_status", "3").or().eq("sample_status", "4"); + //若是终止,需要对应待分发、检测中、检测完三个状态的变更 + queryWrapper.eq("sample_status", TO_HANDOUT).or().eq("sample_status", IN_MEASURE).or().eq("sample_status", MEASURE_COMPLETE); } BusinessOrderSampleRelation businessOrderSampleRelation = new BusinessOrderSampleRelation(); businessOrderSampleRelation.setSampleStatus(statusChangeDTO.getStatus()); @@ -238,12 +248,12 @@ } /** - * 判断不是自检 + * 判断不是自检,即外包和外检,进行环节设定 */ private boolean notSelfMeasure(DeviceDispatchVO dispatchVO) { if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType())) { - if (MeasureStatusEnum.TO_ALLOCATE.equals(String.valueOf(dispatchVO.getMeasureType())) || MeasureStatusEnum.TO_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { - String currentSegment = MeasureStatusEnum.TO_ALLOCATE.equals(dispatchVO.getMeasureType()) ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; + if (OTHERS_UNDERTAKE.equals(String.valueOf(dispatchVO.getMeasureType())) || OUTSIDE_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { + String currentSegment = OTHERS_UNDERTAKE.equals(dispatchVO.getMeasureType()) ? OUT_UNDERTAKE : OUT_MESASUR; dispatchVO.setCurrentSegment(currentSegment); return true; } @@ -251,6 +261,9 @@ return false; } + /** + * 其他条件的置为空 + */ private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { request.setSampleName(null); request.setSampleNo(null); @@ -264,18 +277,38 @@ } /** - * 判断样品是完成或接收状态,直接显示即可 + * 判断样品是完成或接收状态,进行当前阶段环节的设置 */ private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { - if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + if (TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_INCOME); return true; } - if (SampleStatusEnum.TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); + if (TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_ALLOCATE); return true; } return false; } + private boolean beforeStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(TO_INCOME)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + List orderSampleRelationList = this.orderSampleRelationMapper.selectList(queryWrapper); + Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); + if (orderSampleRelationOptional.isPresent()) { + BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); + if (businessOrderSampleRelation.getSampleStatus().equals(TO_ALLOCATE)) { + BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); + businessOrderSample.setRealDeliverTime(DateUtil.format(new Date(), "yyyy-MM-dd")); + int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); + return updateFlag > 0 ? true : false; + } + } + } + return true; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java index 4f06678..e2fea21 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerAdviceMapper; import com.casic.missiles.mapper.customer.CustomerMapper; @@ -34,7 +35,7 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerAdviceServiceImpl implements CustomerAdviceService { +public class CustomerAdviceServiceImpl implements CustomerAdviceService,PrefixCodeEnum { private final CustomerAdviceMapper customerAdviceMapper; private final IBaseExportService iBaseExportService; @@ -122,7 +123,7 @@ private void initCustomerAdviceInfo(CustomerAdviceInfo customerAdviceInfo) { Long maxNo = customerAdviceMapper.selectMaxAdviceNo(); - String adviceNo = NumberGeneratorUtil.getContactNo("khjy", maxNo); + String adviceNo = NumberGeneratorUtil.getContactNo(CUSTOMER_ADVICE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerAdviceInfo.setCreateUser(authUser.getId()); customerAdviceInfo.setUpdateUser(authUser.getId()); 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 4889e55..f9747dd 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 @@ -10,18 +10,19 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.sample.CertificationExpireStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; import com.casic.missiles.mapper.customer.CustomerMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerSampleListResponseMapper; import com.casic.missiles.mapper.customer.CustomerSampleMapper; -import com.casic.missiles.mapper.customer.customize.MesureRecordsResponseMapper; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -42,13 +43,11 @@ @Service @AllArgsConstructor -public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService { +public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService, CertificationExpireStatusEnum,PrefixCodeEnum{ private final CustomerSampleListResponseMapper customerSampleListResponseMapper; private final CustomerMapper customerMapper; private final IBaseExportService iBaseExportService; - private final CertificationResponseMapper certificationResponseMapper; - private final MesureRecordsResponseMapper mesureResponseMapper; private final BusinessOrderSampleRelationMapper sampleRelationMapper; @Override @@ -58,14 +57,14 @@ customerSamplePage.getRecords() .forEach(customerSample -> { BusinessOrderSampleRelation businessOrderSampleRelation = this.getSampleStatusById(customerSample.getId()); + customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); - customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); } }); for (CustomerSampleListResponse customerSampleListResponse : customerSamplePage.getRecords()) { - if (!StringUtils.isEmpty(customerSampleListResponse.getSampleSatus())) { + if (!StringUtils.isEmpty(customerSampleListResponse.getSampleStatus())) { DictCodeUtils.convertDictCodeToName(customerSampleListResponse); } } @@ -106,14 +105,13 @@ public CustomerSampleInfo sampleDetail(Long id) { CustomerSampleInfo customerSampleInfo = this.baseMapper.selectById(id); if (!ObjectUtils.isEmpty(customerSampleInfo)) { - doCustomerSampleInfoPopulation(customerSampleInfo); + doPopulateCustomerSampleInfo(customerSampleInfo); } return customerSampleInfo; } /** * 只导出样品列表信息 - * */ @Override public void sampleExport(CustomerSampleListRequest request, HttpServletResponse response) { @@ -135,7 +133,7 @@ BusinessOrderSampleRelation businessOrderSampleRelation = businessOrderMap.get(customerSample.getId()); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); } } @@ -159,26 +157,16 @@ } @Override - public Page measureRecordsBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page measureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); + public Page measureRecordsById(CustomerSampleIdRequest customerSampleIdRequest) { + Page page = PageFactory.defaultPage(); + Page measureRecordsResponsePage = this.baseMapper.measureRecordsById(page, customerSampleIdRequest); return measureRecordsResponsePage; } - @Override - public Page certificationBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page certificateResponsePage = certificationResponseMapper.selectPage(page, wrapper); - return certificateResponsePage; - } @Override - public Page samplesByOderId(Page page,Long orderId, String sampleNo, String sampleName) { - return this.baseMapper.samplesByOderId(page,orderId,sampleNo,sampleName); + public Page samplesByOderId(Page page, Long orderId, String sampleNo, String sampleName) { + return this.baseMapper.samplesByOderId(page, orderId, sampleNo, sampleName); } private BusinessOrderSampleRelation getSampleStatusById(Long sampleId) { @@ -190,9 +178,12 @@ return orderSampleOptional.isPresent() ? orderSampleOptional.get() : null; } + /** + * 初始化样品状态 + */ private void initSample(CustomerSampleInfo customerSampleInfo) { Long maxNo = this.baseMapper.selectMaxSampleNo(); - String sampleNo = NumberGeneratorUtil.getContactNo("khyp", maxNo); + String sampleNo = NumberGeneratorUtil.getContactNo(SAMPLE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setSampleNo(sampleNo); customerSampleInfo.setCreateUser(authUser.getId()); @@ -202,7 +193,6 @@ private QueryWrapper listParamWrapper(CustomerSampleListRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.select("id,sample_no,sample_name,sample_model,manufacturing_no,customer_id,measure_period,measure_last_time,remark,valid_deadline"); queryWrapper.like(StringUtils.isNotBlank(request.getSampleNo()), "sample_no", request.getSampleNo()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleName()), "sample_name", request.getSampleName()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleBelong()), "sample_belong", request.getSampleBelong()); @@ -210,9 +200,10 @@ queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); if (!StringUtils.isEmpty(request.getOvertimeStatus())) { - queryWrapper.apply(request.getOvertimeStatus().equals("1"), + queryWrapper.apply("1".equals(request.getOvertimeStatus()), + "sysdate() > DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); - queryWrapper.apply(request.getOvertimeStatus().equals("0"), + queryWrapper.apply("0".equals(request.getOvertimeStatus()), "sysdate() <= DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); } queryWrapper.apply(StringUtils.isNotBlank(request.getStartTime()), @@ -224,24 +215,30 @@ return queryWrapper; } + /** + * 通过证书到期时间进行到期状态的计算 + */ private String calculateCertificationStatus(String validDeadline) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if (StringUtils.isEmpty(validDeadline)) { - return "0"; + return NORMAL; } - if (validDeadline.compareTo(sdf.format(new Date())) > 0) { - return "2"; + if (validDeadline.compareTo(sdf.format(new Date())) < 0) { + return ALREADY_EXPIRE; } Calendar date = Calendar.getInstance(); date.setTime(new Date()); date.add(Calendar.DAY_OF_MONTH, -30); - if (validDeadline.compareTo(sdf.format(date.getTime())) > 0) { - return "1"; + if (validDeadline.compareTo(sdf.format(date.getTime())) < 0) { + return ALMOST_EXPIRE; } - return "0"; + return NORMAL; } - private void doCustomerSampleInfoPopulation(CustomerSampleInfo customerSampleInfo) { + /** + * 对样品列表的进行供应商联系方式的填充 + */ + private void doPopulateCustomerSampleInfo(CustomerSampleInfo customerSampleInfo) { CustomerInfo customerInfo = customerMapper.selectById(customerSampleInfo.getCustomerId()); if (!ObjectUtils.isEmpty(customerInfo)) { customerSampleInfo.setPhone(customerInfo.getPhone()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java index 32d4dee..f6e1f8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java @@ -11,13 +11,12 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerMapper; import com.casic.missiles.mapper.customer.CustomerUserMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerInfoResponseMapper; import com.casic.missiles.mapper.customer.customize.SampleRecordsResponseMapper; import com.casic.missiles.model.customer.CustomerInfo; @@ -38,11 +37,10 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerServiceImpl extends ServiceImpl implements CustomerService { +public class CustomerServiceImpl extends ServiceImpl implements CustomerService,PrefixCodeEnum { private final SampleRecordsResponseMapper sampleRecordsResponseMapper; private final CustomerUserMapper customerUserMapper; - private final CertificationResponseMapper certificationMapper; private final IBaseExportService iBaseExportService; private final CustomerInfoResponseMapper customerInfoResponseMapper; @@ -126,18 +124,9 @@ return contractRecordsResponsePage; } - @Override//暂定不做 - public Page mesureRecordsByCustomerId(Long customerId) { - Page measureRecordsResponsePage = PageFactory.defaultPage(); - return measureRecordsResponsePage; - } - @Override public Page certificationByCustomerId(Long customerId) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("customer_id", customerId); - return certificationMapper.selectPage(page, wrapper); + return null; } @Override @@ -163,8 +152,7 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); - queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "bussiness_size", request.getBusinessSize()); - queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); + queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "business_size", request.getBusinessSize()); queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); queryWrapper.eq("is_del", 0); return queryWrapper; @@ -172,7 +160,7 @@ private void initCustomerInfo(CustomerInfo customerInfo) { Long maxNo = this.baseMapper.selectMaxCustomerNo(); - String customerNo = NumberGeneratorUtil.getContactNo("khxx", maxNo); + String customerNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CUSTOMER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerInfo.setCreateUser(authUser.getId()); customerInfo.setUpdateUser(authUser.getId()); @@ -196,7 +184,7 @@ boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { customerUserInfo.setCustomerId(id); - String customerNo = NumberGeneratorUtil.getContactNo("khyh", maxUserNo++); + String customerNo = NumberGeneratorUtil.getContactNo(CUSTOMER_USER_PREFIX, maxUserNo++); customerUserInfo.setUserNo(customerNo); int userAddNum = customerUserMapper.insert(customerUserInfo); if (userAddNum <= 0) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java index d81a488..77e4caf 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java @@ -13,9 +13,10 @@ import com.casic.missiles.dto.equipment.AcceptanceCheckRequest; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentAcceptanceCheckMapper; @@ -183,7 +184,7 @@ public ReturnDTO addAcceptanceCheck(EquipmentApply equipmentApply) { Long maxNo = equipmentApplyMapper.selectMaxNo(); // 生成编号 - String applyNo = NumberGeneratorUtil.getContactNo("sbjxbyysd", maxNo); + String applyNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.REPAIR_MAINTAIN_PREFIX, maxNo); equipmentApply.setApplyNo(applyNo); // 草稿箱状态 equipmentApply.setApprovalStatus(ApprovalStatusEnum.DRAFT); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java index 38ad4e9..d468012 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java @@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.base.service.IBaseExportService; -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.IdDTO; @@ -20,6 +19,9 @@ import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java index 7c4fdbc..e6a1ff8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.equipment.CheckInfoRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoFileMapper; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoMapper; @@ -79,7 +80,7 @@ @Transactional public ReturnDTO addCheckInfo(EquipmentCheckInfo equipmentCheckInfo) { long maxNo = equipmentCheckInfoMapper.selectMaxNo(); - String checkNo = NumberGeneratorUtil.getContactNo("jc", maxNo); + String checkNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CHECK_PREFIX, maxNo); equipmentCheckInfo.setCheckNo(checkNo); if(equipmentCheckInfoMapper.insert(equipmentCheckInfo) > 0){ Long id = equipmentCheckInfo.getId(); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java index ba6a600..7ff9c16 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.equipment; -import cn.hutool.core.io.unit.DataUnit; import com.alibaba.excel.util.DateUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -13,7 +12,8 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.FixedAssetRequest; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentFixedAssetFileMapper; @@ -131,7 +131,7 @@ validManufacturingNo(meterFixedAssets); //生成资产编号 Long maxNo = meterFixedAssetsMapper.selectMaxNo(); - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); meterFixedAssets.setAssetNo(asset_no); meterFixedAssets.setEquipmentNo(asset_no); meterFixedAssetsMapper.insert(meterFixedAssets); @@ -164,7 +164,7 @@ //需要根据出厂编号判重 validManufacturingNo(item); //生成资产编号 - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); item.setAssetNo(asset_no); item.setEquipmentNo(asset_no); maxNo++; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java index 3e63a5a..2b29aa7 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java @@ -18,6 +18,8 @@ import com.casic.missiles.dto.equipment.StandardEquipmentApplyRequest; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.StandardApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java index caa63a7..afa6905 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java @@ -10,9 +10,9 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.StandardEquipmentRequest; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentFileMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentMapper; -import com.casic.missiles.model.equipment.EquipmentApply; import com.casic.missiles.model.equipment.EquipmentStandardEquipment; import com.casic.missiles.model.equipment.EquipmentStandardEquipmentFile; import com.casic.missiles.model.page.PageQuery; @@ -74,7 +74,7 @@ public ReturnDTO add(EquipmentStandardEquipment meterStandardEquipment) { //生成资产编号 Long maxNo = meterStandardEquipmentMapper.selectMaxNo(); - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); meterStandardEquipment.setStandardNo(standard_no); meterStandardEquipmentMapper.insert(meterStandardEquipment); // 插入文件列表 @@ -129,7 +129,7 @@ } DictCodeUtils.validDictCode(item); //生成资产编号 - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); item.setStandardNo(standard_no); maxNo++; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java index 481cf64..b749b2e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java @@ -2,7 +2,6 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.dto.IdDTO; @@ -12,7 +11,7 @@ import com.casic.missiles.dto.equipment.StateManageResponse; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java index 5dd6f8e..e566e01 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.EquipmentWorkbenchResponse; -import com.casic.missiles.enums.ApplyFromIdEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java index f3b9c4f..485287a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java @@ -6,7 +6,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.system.dao.DeptMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java index ce076b0..c20feb0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java @@ -4,7 +4,6 @@ import cn.hutool.core.lang.Assert; import cn.hutool.core.util.ObjectUtil; import com.alibaba.excel.util.DateUtils; -import com.alibaba.excel.util.StringUtils; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -22,18 +21,18 @@ import com.casic.missiles.dto.meter.MeterCertificateImport; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.enums.*; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterRoleTypeEnum; +import com.casic.missiles.enums.workbench.MessageTypeEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.meter.MeterCertificateExpireMessageMapper; import com.casic.missiles.mapper.meter.MeterCertificateMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.sys.UserInfoMapper; import com.casic.missiles.mapper.workbench.WorkbenchRemindMessageMapper; import com.casic.missiles.model.meter.MeterCertificate; -import com.casic.missiles.model.meter.MeterCertificateExpireMessage; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.model.system.UserInfo; import com.casic.missiles.model.workbench.WorkbenchRemindMessage; -import com.casic.missiles.service.meter.MeterCertificateExpireMessageService; import com.casic.missiles.service.meter.MeterCertificateService; import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; import com.casic.missiles.utils.ExportUtils; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java index ecf1fc3..e84f4d6 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java @@ -17,10 +17,11 @@ import com.casic.missiles.dto.meter.FileApprovalListResponse; import com.casic.missiles.dto.meter.FileListRequest; import com.casic.missiles.dto.meter.FileSaveResponse; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EffectiveStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.EffectiveStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterFileMapper; import com.casic.missiles.model.meter.MeterFile; @@ -92,7 +93,7 @@ public ReturnDTO saveFile(MeterFile file) { //生成文件编号 Long maxNo = meterFileMapper.selectMaxFileNo(); - String fileNo = NumberGeneratorUtil.getContactNo("jlwj", maxNo); + String fileNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FILE_PREFIX, maxNo); file.setFileNo(fileNo); file.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 Assert.isFalse(Objects.isNull(ShiroKit.getUser()), () -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java index 000e58a..467f03d 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java @@ -10,7 +10,8 @@ import com.casic.missiles.dto.meter.ParentDeptRequest; import com.casic.missiles.dto.meter.ParentDeptResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.model.meter.MeterOrganize; @@ -101,7 +102,7 @@ public int addOrganize(Dept dept) { //生成组织编号 Long maxNo = organizeMapper.selectMaxOrganizeNo(); - String organizeNo = NumberGeneratorUtil.getContactNo("jlzz", maxNo); + String organizeNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.ORGANIZE_PREFIX, maxNo); MeterOrganize meterOrganize = new MeterOrganize(); meterOrganize.setDeptId(dept.getId()); meterOrganize.setPDeptId(dept.getPid()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java index 7c3f9cf..643ba4c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java @@ -13,7 +13,8 @@ import com.casic.missiles.dto.meter.MeterPriceRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterPriceCategoryMapper; import com.casic.missiles.mapper.meter.MeterPriceItemMapper; @@ -83,7 +84,7 @@ MeterPriceItem item = new MeterPriceItem(null,priceCategory.getId(),meterPrice.getItemName()); if(categoryFlag>0 && meterPriceItemMapper.insert(item)>0){ Long maxNo = meterPriceMapper.getMaxNo(); - String priceNo = NumberGeneratorUtil.getContactNo("jg", maxNo); + String priceNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.PRICE_PREFIX, maxNo); meterPrice.setPriceNo(priceNo); meterPrice.setPriceType(priceCategory.getId().toString()); meterPrice.setPriceItem(item.getId().toString()); @@ -178,7 +179,7 @@ // 校验通过 AtomicLong maxNo = new AtomicLong(meterPriceMapper.getMaxNo()); list.forEach(bean->{ - String priceNo = NumberGeneratorUtil.getContactNo("jg", maxNo.get()); + String priceNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.PRICE_PREFIX, maxNo.get()); maxNo.set(Long.parseLong(priceNo.substring(2))); Long id= IdWorker.getId(); bean.setId(id); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java index 7c4a1a1..f79bb8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java @@ -15,7 +15,8 @@ import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterCertificateMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; @@ -42,7 +43,6 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; -import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.concurrent.atomic.AtomicBoolean; @@ -139,7 +139,7 @@ } long maxNo = meterStaffMapper.getMaxNo(); meterStaff.setIsDel(0); - String staffNo = NumberGeneratorUtil.getContactNo("jlry", maxNo); + String staffNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STAFF_PREFIX, maxNo); meterStaff.setStaffNo(staffNo); if(meterStaffMapper.insert(meterStaff)>0){ Long id = meterStaff.getId(); @@ -263,7 +263,7 @@ AtomicLong maxNo = new AtomicLong(meterStaffMapper.getMaxNo()); list.forEach(bean->{ // 生成编号 - String staffNo = NumberGeneratorUtil.getContactNo("jlry", maxNo.get()); + String staffNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STAFF_PREFIX, maxNo.get()); maxNo.set(Long.parseLong(staffNo.substring(4))); bean.setStaffNo(staffNo); // 获取id diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java index 535581f..0beebb1 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java @@ -14,9 +14,10 @@ import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.meter.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterTraceSupplierMapper; import com.casic.missiles.model.meter.MeterTraceSupplier; @@ -92,7 +93,7 @@ public ReturnDTO saveTraceSupplier(MeterTraceSupplier traceSupplier) { //生成编号 Long maxNo = traceSupplierMapper.selectMaxSupplierNo(); - String supplierNo = NumberGeneratorUtil.getContactNo("sygf", maxNo); + String supplierNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.TRACE_SUPPLIER_PREFIX, maxNo); traceSupplier.setSupplierNo(supplierNo); traceSupplier.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 Assert.isFalse(Objects.isNull(ShiroKit.getUser()), () -> { @@ -106,7 +107,7 @@ //存储溯源供方人员信息 boolean saveBatchFlag = true; List traceSupplierPersonList = traceSupplier.getTraceSupplierPersonList(); - if(!CollectionUtils.isEmpty(traceSupplierPersonList)){ + if (!CollectionUtils.isEmpty(traceSupplierPersonList)) { traceSupplierPersonList.forEach(person -> { person.setSupplierId(traceSupplier.getId()); }); @@ -119,7 +120,7 @@ //存储溯源供方标准装置信息 boolean saveBatchFlag2 = true; List standardEquipmentIds = traceSupplier.getStandardEquipmentIds(); - if(!CollectionUtils.isEmpty(standardEquipmentIds)){ + if (!CollectionUtils.isEmpty(standardEquipmentIds)) { List equipmentList = new ArrayList<>(); standardEquipmentIds.forEach(id -> { MeterTraceSupplierStandardEquipment equipment = new MeterTraceSupplierStandardEquipment(); @@ -154,7 +155,7 @@ traceSupplierPersonService.remove(wrapper); boolean saveFlag = true; //溯源供方人员可能为空 - if(!CollectionUtils.isEmpty(traceSupplierPersonList)){ + if (!CollectionUtils.isEmpty(traceSupplierPersonList)) { //再增加 traceSupplierPersonList.forEach(person -> { person.setSupplierId(traceSupplier.getId()); @@ -169,7 +170,7 @@ meterTraceSupplierStandardEquipmentService.remove(wrapper1); boolean saveBatchFlag2 = true; List standardEquipmentIds = traceSupplier.getStandardEquipmentIds(); - if(!CollectionUtils.isEmpty(standardEquipmentIds)){ + if (!CollectionUtils.isEmpty(standardEquipmentIds)) { List equipmentList = new ArrayList<>(); standardEquipmentIds.forEach(id -> { MeterTraceSupplierStandardEquipment equipment = new MeterTraceSupplierStandardEquipment(); @@ -195,10 +196,10 @@ String formId = request.getFormId(); ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); MeterTraceSupplier traceSupplier = new MeterTraceSupplier(); traceSupplier.setId(request.getId()); @@ -225,9 +226,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //本地删除 - if(traceSupplierMapper.deleteById(request.getId()) > 0){ + if (traceSupplierMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -267,16 +268,16 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -288,7 +289,7 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.IN_APPROVED); } @@ -296,7 +297,7 @@ //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.PASSED); } @@ -305,12 +306,12 @@ case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { List rejectList = traceSupplierMapper.selectBatchForApproval(page, request, rejectBusinessKey); rejectApprovalList = handleApprovalListResponse(approvalList, rejectList, ApprovalStatusEnum.FAILED_REJECT); } @@ -320,7 +321,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.CANCELED); } @@ -330,10 +331,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleAllApprovalListResponse(approvalList, list, AllApproveList); } @@ -343,9 +344,11 @@ } private List handleAllApprovalListResponse(List approvalList, List list, List allApproveList) { - Map taskMap = new HashMap<>(); + Map taskMap = new HashMap<>(); approvalList = ConvertUtils.sourceToTarget(list, TraceSupplierApprovalListResponse.class); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -369,7 +372,7 @@ @Override public ReturnDTO deleteTraceSupplier(Long id) { - if(traceSupplierMapper.deleteById(id) > 0){ + if (traceSupplierMapper.deleteById(id) > 0) { return ReturnUtil.success(); } return ReturnUtil.failed("刪除失败"); @@ -377,7 +380,7 @@ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - if(traceSupplierMapper.deleteBatchIds(ids) > 0){ + if (traceSupplierMapper.deleteBatchIds(ids) > 0) { return ReturnUtil.success(); } return ReturnUtil.failed("删除失败"); @@ -400,6 +403,7 @@ wrapper.eq("id", 12344321); return wrapper; } + wrapper.like(StringUtils.isNotBlank(request.getSupplierNo()), "supplier_no", request.getSupplierNo()); wrapper.like(StringUtils.isNotBlank(request.getSupplierName()), "supplier_name", request.getSupplierName()); wrapper.like(StringUtils.isNotBlank(request.getBusinessContent()), "business_content", request.getBusinessContent()); @@ -409,7 +413,7 @@ return wrapper; } - private List handleApprovalListResponse(List approvalList, List list, String status){ + private List handleApprovalListResponse(List approvalList, List list, String status) { approvalList = ConvertUtils.sourceToTarget(list, TraceSupplierApprovalListResponse.class); approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java index 0fd9403..bec30c8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.meter.TrainLogListRequest; import com.casic.missiles.dto.meter.TrainLogUpdateRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterTrainLogMapper; import com.casic.missiles.mapper.meter.MeterTrainStaffMapper; @@ -58,7 +59,7 @@ public ReturnDTO addTrainLog(TrainLogAddRequest request) { //生成编号 Long maxNo = trainLogMapper.selectMaxTrainLogNo(); - String logNo = NumberGeneratorUtil.getContactNo("pxjl", maxNo); + String logNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.TRAIN_LOG_PREFIX, maxNo); MeterTrainLog meterTrainLog = ConvertUtils.sourceToTarget(request, MeterTrainLog.class); meterTrainLog.setLogNo(logNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java index e4f4dcb..e3d0750 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java @@ -14,9 +14,10 @@ import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.meter.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.meter.MeterTrainPlanMapper; @@ -98,7 +99,7 @@ public ReturnDTO saveTrainPlan(MeterTrainPlan trainPlan) { //生成编号 Long maxNo = trainPlanMapper.selectMaxTrainPlanNo(); - String planNo = NumberGeneratorUtil.getContactNo("pxjh", maxNo); + String planNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.TRAIN_PLAN_PREFIX, maxNo); trainPlan.setPlanNo(planNo); trainPlan.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 Assert.isFalse(Objects.isNull(ShiroKit.getUser()), () -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterWorkbenchServiceImpl.java index 663d024..921ae71 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterWorkbenchServiceImpl.java @@ -10,8 +10,8 @@ import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.dto.meter.MeterWorkbenchRequest; import com.casic.missiles.dto.meter.MeterWorkbenchResponse; -import com.casic.missiles.enums.ExamResultEnum; -import com.casic.missiles.enums.MeterRoleTypeEnum; +import com.casic.missiles.enums.meter.ExamResultEnum; +import com.casic.missiles.enums.meter.MeterRoleTypeEnum; import com.casic.missiles.mapper.meter.MeterCertificateMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.meter.MeterTrainPlanMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java index 163c77f..5d76a52 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.system.FlowListRequest; import com.casic.missiles.dto.system.FlowProcDefDTO; import com.casic.missiles.dto.system.FlowUpdateStateRequest; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.FlowDefMapper; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java index dcebbbd..f59ae28 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.system.NoticeAddRequest; import com.casic.missiles.dto.system.NoticeListRequest; import com.casic.missiles.dto.system.NoticeReadRequest; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.system.SystemNoticeMapper; import com.casic.missiles.mapper.system.SystemNoticeUserRelationMapper; import com.casic.missiles.model.system.SystemNotice; @@ -56,7 +57,7 @@ public ReturnDTO addNotice(NoticeAddRequest noticeAddRequest) { //生成编号 Long maxNo = noticeMapper.selectMaxNoticeNo(); - String noticeNo = NumberGeneratorUtil.getContactNo("tzgg", maxNo); + String noticeNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.NOTICE_PREFIX, maxNo); noticeAddRequest.setNoticeNo(noticeNo); SystemNotice systemNotice = ConvertUtils.sourceToTarget(noticeAddRequest, SystemNotice.class); int insertFlag = noticeMapper.insert(systemNotice); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemSignServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemSignServiceImpl.java index dffd29b..3bc7d81 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemSignServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemSignServiceImpl.java @@ -8,6 +8,7 @@ import com.casic.missiles.dto.system.SignAddRequest; import com.casic.missiles.dto.system.SignDetailResponse; import com.casic.missiles.dto.system.SignListRequest; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.system.SystemSignMapper; import com.casic.missiles.mapper.system.SystemSignUserRelationMapper; import com.casic.missiles.model.system.SystemSign; @@ -72,17 +73,16 @@ public ReturnDTO addSign(SignAddRequest request) { //生成编号 Long maxNo = signMapper.selectMaxSignNo(); - String signNo = NumberGeneratorUtil.getContactNo("qmqz", maxNo); //签名签章编号一起 + String signNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.SIGN_PREFIX, maxNo); //签名签章编号一起 SystemSign systemSign = ConvertUtils.sourceToTarget(request, SystemSign.class); systemSign.setSignNo(signNo); int insertFlag = signMapper.insert(systemSign); //关联表 - //签名无可使用人,签章有可使用人 - boolean saveBatch = true; - if("2".equals(request.getSignType())){ - List userRelationList = getUserRelations(request.getUserIdList(), systemSign.getId()); - saveBatch = userRelationService.saveBatch(userRelationList); - } + //签名/签章可使用人 + List userIdList = request.getUserIdList(); + userIdList.add(request.getSignUserId()); //添加签名本人 + List userRelationList = getUserRelations(userIdList, systemSign.getId()); + boolean saveBatch = userRelationService.saveBatch(userRelationList); if(insertFlag > 0 && saveBatch){ return ReturnUtil.success(); } @@ -94,16 +94,15 @@ public ReturnDTO updateSign(SystemSign systemSign) { int updateFlag = signMapper.updateById(systemSign); //关联表 - //签章有可使用人 - int deleteFlag = 1; - boolean saveBatch = true; - if("2".equals(systemSign.getSignType())){ - Map columnMap = new HashMap<>(); - columnMap.put("sign_id", systemSign.getId()); - deleteFlag = userRelationMapper.deleteByMap(columnMap); - List userRelationList = getUserRelations(systemSign.getUserIdList(), systemSign.getId()); - saveBatch = userRelationService.saveBatch(userRelationList); - } + //签名/签章可使用人 + Map columnMap = new HashMap<>(); + columnMap.put("sign_id", systemSign.getId()); + int deleteFlag = userRelationMapper.deleteByMap(columnMap); + List userIdList = systemSign.getUserIdList(); + userIdList.add(systemSign.getSignUserId()); + List userRelationList = getUserRelations(systemSign.getUserIdList(), systemSign.getId()); + boolean saveBatch = userRelationService.saveBatch(userRelationList); + if(updateFlag > 0 && deleteFlag > 0 && saveBatch){ return ReturnUtil.success(); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemTemplateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemTemplateServiceImpl.java index 8ac39b3..4d6aa00 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemTemplateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemTemplateServiceImpl.java @@ -8,6 +8,7 @@ import com.casic.missiles.dto.system.TemplateAddRequest; import com.casic.missiles.dto.system.TemplateDetailResponse; import com.casic.missiles.dto.system.TemplateListRequest; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.system.SystemTemplateMapper; import com.casic.missiles.mapper.system.SystemTemplateUserRelationMapper; import com.casic.missiles.model.system.SystemTemplate; @@ -66,7 +67,7 @@ public ReturnDTO addTemplate(TemplateAddRequest request) { //生成编号 Long maxNo = templateMapper.selectMaxTemplateNo(); - String templateNo = NumberGeneratorUtil.getContactNo("jlbg", maxNo); //原始记录模板证书报告模板编号一起 + String templateNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.TEMPLATE_PREFIX, maxNo); //原始记录模板证书报告模板编号一起 SystemTemplate systemTemplate = ConvertUtils.sourceToTarget(request, SystemTemplate.class); systemTemplate.setTemplateNo(templateNo); int insertFlag = templateMapper.insert(systemTemplate); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchRemindMessageServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchRemindMessageServiceImpl.java index 58ce952..6f6d1b2 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchRemindMessageServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchRemindMessageServiceImpl.java @@ -61,9 +61,9 @@ wrapper.eq(StringUtils.isNotBlank(request.getMessageType()), "message_type", request.getMessageType()); wrapper.eq("status", 0); wrapper.apply(StringUtils.isNotBlank(request.getStartTime()), - "{0} <= DATE_FORMAT(train_time,'%Y-%m-%d')", request.getStartTime().split(" ")[0]); + "{0} <= DATE_FORMAT(create_time,'%Y-%m-%d')", request.getStartTime().split(" ")[0]); wrapper.apply(StringUtils.isNotBlank(request.getEndTime()), - "{0} >= DATE_FORMAT(train_time,'%Y-%m-%d')", request.getEndTime().split(" ")[0]); + "{0} >= DATE_FORMAT(create_time,'%Y-%m-%d')", request.getEndTime().split(" ")[0]); wrapper.orderByDesc("create_time"); return wrapper; } 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 89787de..8e91c42 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 @@ -6,7 +6,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.business.certificate.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; -import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; +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.model.business.BusinessCertificateReport; @@ -41,4 +42,6 @@ void originExport(CertificateReportApprovalRequest request, HttpServletResponse response); + Page certificateRecordsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception; + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessInterchangeService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessInterchangeService.java index 54e2757..50ca6e2 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessInterchangeService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessInterchangeService.java @@ -14,7 +14,7 @@ * 业务管理-设备交接单 服务类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ public interface IBusinessInterchangeService extends IService { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/customer/CustomerSampleService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/customer/CustomerSampleService.java index 8b97619..fd4be1d 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/customer/CustomerSampleService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/customer/CustomerSampleService.java @@ -3,13 +3,17 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.model.customer.CustomerSampleInfo; import javax.servlet.http.HttpServletResponse; +/** + * @author cz + */ public interface CustomerSampleService { Page listPage(Page page, CustomerSampleListRequest request) throws Exception; @@ -24,9 +28,9 @@ ReturnDTO deleteSample(Long id); - Page measureRecordsBySampleId(Long id); + Page measureRecordsById(CustomerSampleIdRequest customerSampleIdRequest); - Page certificationBySampleId(Long id); + /** * 根据 委托书id、样品编号、样品名称查询样品信息(分页) diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java index 05104f2..a79e129 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MockController.java @@ -7,11 +7,16 @@ import com.casic.missiles.core.model.auth.CasicCustomToken; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.util.RSAUtils; +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.listeners.NotifyStatusPostProcessor; import com.casic.missiles.model.response.SuccessResponseData; import com.casic.missiles.modular.domain.constants.PermissionConstants; import com.casic.missiles.modular.interfaces.log.LogManager; import com.casic.missiles.modular.interfaces.log.factory.LogTaskFactory; import com.casic.missiles.modular.system.dto.LoginSuccessDTO; +import com.casic.missiles.utils.SpringContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.subject.Subject; import org.springframework.stereotype.Controller; 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 c440253..1f03225 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 @@ -8,18 +8,16 @@ import com.casic.missiles.dto.*; 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.dto.meter.TraceSupplierListRequest; 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.model.meter.MeterTraceSupplier; import com.casic.missiles.service.business.IBusinessCertificateReportService; -import com.casic.missiles.service.meter.IMeterTraceSupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -45,28 +43,7 @@ public class BusinessCertificateReportController extends ExportController { @Resource private IBusinessCertificateReportService certificateReportService; - @Autowired - private IMeterTraceSupplierService traceSupplierService; - @ApiOperation("证书报告列表(分页)") - @PostMapping("/listPage") - @ResponseBody - public ReturnDTO> supplierListPage(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(traceSupplierService.listPage(page, request))); - } - @ApiOperation("证书报告列表") - @PostMapping("/list") - @ResponseBody - public ReturnDTO> supplierList(@RequestBody @Valid TraceSupplierListRequest request, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - return ReturnUtil.success(traceSupplierService.list(request)); - } @ApiOperation("证书报告记录导出") @PostMapping("/listExport") @@ -113,18 +90,6 @@ return certificateReportService.submitCertificateReport(request); } - @ApiOperation("证书报告更新(审批通过后还能更新??暂时保留。。)") - @PostMapping("/update") - @ResponseBody - public ReturnDTO supplierUpdate(@RequestBody @Valid MeterTraceSupplier traceSupplier, BindingResult bindingResult) { - Assert.isFalse(Objects.isNull(traceSupplier.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - Assert.isFalse(bindingResult.hasErrors(), () -> { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - }); - return traceSupplierService.updateTraceSupplier(traceSupplier); - } @ApiOperation("证书报告批量删除") @PostMapping("/batchDelete") @@ -189,4 +154,12 @@ } return certificateReportService.failUpdate(certificateReport); } + + + @ApiOperation("根据样品id/客户id查询检定证书") + @PostMapping("/RecordsById") + public ReturnDTO> certificationBySampleId(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) throws Exception{ + return ReturnUtil.success(super.packForBT(certificateReportService.certificateRecordsById(customerSampleIdRequest))); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java index 2de64e1..f0be1d8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessEnvironmentRecordController.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.business.environment.EnvironmentListRequest; import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessEnvironmentRecord; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index e2d588a..481f92e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -33,7 +33,7 @@ * 业务管理-设备交接单 前端控制器 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @RestController diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java index 832517f..f1c90e8 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOrderController.java @@ -12,6 +12,7 @@ import com.casic.missiles.dto.business.order.OrderListReponse; import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -44,7 +45,7 @@ @Api(tags = "委托书模块") @RequestMapping("/business/order") @AllArgsConstructor -public class BusinessOrderController extends ExportController { +public class BusinessOrderController extends ExportController implements OrderStatusEnum { private final IBusinessOrderService businessOrderService; @@ -119,7 +120,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "2"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_RECEIVED); } @ApiOperation("委托书退回") @@ -128,7 +129,7 @@ Assert.isFalse(Objects.isNull(orderCancelRequest.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return businessOrderService.updateStatusById(orderCancelRequest, "3"); + return businessOrderService.updateStatusById(orderCancelRequest, ALREADY_CANCEL); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 7591c07..9f2284d 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -10,7 +10,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerInfo; @@ -102,41 +102,29 @@ return ReturnUtil.success(super.packForBT(customerService.contractRecordsByCustomerId(idDTO.getId()))); } - @ApiOperation("根据客户id查询检定记录-分页") - @PostMapping("/mesureRecords") - public ReturnDTO> mesureRecordsByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.mesureRecordsByCustomerId(idDTO.getId()))); - } - - @ApiOperation("客户删除") @PostMapping("/delete") - public ReturnDTO deleteCsutomer(@RequestBody @Valid IdDTO idDTO) { + public ReturnDTO deleteCustomer(@RequestBody @Valid IdDTO idDTO) { Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); return customerService.deleteCustomer(idDTO.getId()); } - @ApiOperation("根据客户id查询检定证书-分页") - @PostMapping("/certificateRecords") - public ReturnDTO> certificationByCustomerId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerService.certificationByCustomerId(idDTO.getId()))); + @ApiOperation("根据客户id查询检定记录(在样品中实现,可复用)") + @PostMapping("/fake/interface") + public ReturnDTO> measureRecordsBySampleId() { + return null; } @ApiOperation("客户导出") @PostMapping("/export") - public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response){ + public void sampleExport(@RequestBody @Valid CustomerListRequest request, HttpServletResponse response) { customerService.customerExport(request, response); } - //*******************************************************************************************************************// + + //*******************************************************************************************************************// // @ApiOperation("客户批量导入") // @PostMapping("/batchImport") // public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 9ae077e..e07ad0b 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -9,7 +9,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; @@ -93,31 +94,10 @@ customerSampleService.sampleExport(request, response); } - @ApiOperation("根据样品id查询检定记录") - @PostMapping("/mesureRecordsBySampleId") - public ReturnDTO> mesureRecordsBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsBySampleId(idDTO.getId()))); + @ApiOperation("根据样品id/客户id查询检定记录") + @PostMapping("/measureRecordsById") + public ReturnDTO> measureRecordsById(@RequestBody CustomerSampleIdRequest customerSampleIdRequest) { + return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } - @ApiOperation("根据样品id查询检定证书") - @PostMapping("/certificationBySampleId") - public ReturnDTO> certificationBySampleId(@RequestBody @Valid IdDTO idDTO) { - Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - return ReturnUtil.success(super.packForBT(customerSampleService.certificationBySampleId(idDTO.getId()))); - } - -// @ApiOperation("样品批量导入") -// @PostMapping("/batchImport") -// public ReturnDTO exportAdvice(@RequestBody @Valid CustomerAdviceInfo customerAdviceInfo, BindingResult bindingResult) { -// Assert.isFalse(bindingResult.hasErrors(), () -> { -// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); -// }); -// return null; -// } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java index 9a229ff..73fce0f 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/sys/DeptExtendController.java @@ -5,7 +5,7 @@ import com.casic.missiles.core.common.annotion.Permission; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.model.exception.RequestValidException; import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.log.LogObjectHolder; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java index 021eaa8..9848e68 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/PoiController.java @@ -3,12 +3,14 @@ import cn.afterturn.easypoi.entity.ImageEntity; import com.casic.missiles.utils.PdfUtil; +import com.casic.missiles.utils.StampUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -23,7 +25,51 @@ private String filepath="C:\\upload"; @ApiOperation("word转pdf") + @PostMapping(value = "/convertWordToPdf1") + @ResponseBody + public void convertWordToPdf1() throws Exception { + File uploadFile = new File(filepath); + String wordDir = ""; + if (!uploadFile.exists()) { + uploadFile.mkdirs(); + } + if (!filepath.endsWith("/")) { + wordDir = filepath + File.separator + "word"; + } + File tf = new File(wordDir + File.separator + "tem.docx"); + File tf_pic = new File(wordDir + File.separator + "logo.jpg"); + String pic_url = tf_pic.getCanonicalPath(); + Calendar now = Calendar.getInstance(); + Map params = new HashMap<>(); + List> dataList=new ArrayList<>(); + for (int i = 0; i < 5; i++) { + Map param = new HashMap<>(); + param.put("name", "彭于晏"+i); + param.put("sex", "男"+i); + param.put("address", "中国"+i); + ImageEntity image = new ImageEntity(); + image.setHeight(100); + image.setWidth(100); + image.setUrl(pic_url); + image.setData(PdfUtil.getImageBase64(pic_url)); + param.put("image", image); + dataList.add(param); + } + + params.put("dataList",dataList); + params.put("y", now.get(Calendar.YEAR)); + params.put("m", (now.get(Calendar.MONTH) + 1)); + params.put("d", now.get(Calendar.DAY_OF_MONTH)); + + String fileName = "wordExport.docx"; + String word = StampUtils.exportWord(tf.getPath(), wordDir, fileName, params); + System.out.println("****新模板"+word); + + } + + @ApiOperation("word转pdf") @PostMapping(value = "/convertWordToPdf") + @ResponseBody public void convertWordToPdf(HttpServletResponse response) throws Exception { File uploadFile = new File(filepath); String wordDir = ""; @@ -117,4 +163,5 @@ } } } + } diff --git a/casic-metering-common/pom.xml b/casic-metering-common/pom.xml index bb00ab9..e028713 100644 --- a/casic-metering-common/pom.xml +++ b/casic-metering-common/pom.xml @@ -11,6 +11,7 @@ casic-metering-common + @@ -171,6 +172,14 @@ 4.1.2 + + + + e-iceblue + spire.office.free + 5.3.1 + + com.google.zxing diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java deleted file mode 100644 index 57a5e76..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApplyFromIdEnum.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.casic.missiles.enums; - -public interface ApplyFromIdEnum { - String FILE_APPROVAL = "jlglwjsp"; // 文件审批; - String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 - String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 - String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 - String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 - String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 - String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 - String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 - String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 - String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 - String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 - String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 - String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 - String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 - String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 - String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 - String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 - String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java deleted file mode 100644 index e069520..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ApprovalStatusEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 审批状态类型枚举 - * @Author: wangpeng - * @Date: 2022/12/15 10:51 - */ -public interface ApprovalStatusEnum { - String PROCESS_STATUS = "processStatus"; - - String ALL = "0"; //全部 - String DRAFT = "1"; //草稿箱 - String TO_BE_APPROVED = "2"; //待审批 - String IN_APPROVED = "3"; //审批中 - String PASSED = "4"; //已通过 - String FAILED = "5"; //未通过 - String FAILED_REJECT = "8"; //未通过-驳回 - String CANCELED = "6"; //已取消 - String UN_DRAFT = "7"; //非草稿状态,仅在枚举中设置,字典中不设置 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java deleted file mode 100644 index 3082a7f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeSetTypeEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2022/12/27 16:00 - */ -public interface AssigneeSetTypeEnum { - //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 - Integer ASSIGN_USER = 1; - Integer LEADER = 2; - Integer SELF_SELECT = 4; - Integer SELF = 5; - Integer LEADER_TOP = 7; - Integer ROLE = 11; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java deleted file mode 100644 index 32fe974..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/AssigneeTypeEnum.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: - * @Author: wangpeng - * @Date: 2023/02/09 16:00 - */ -public interface AssigneeTypeEnum { - //1具体人员 2角色 3部门 - String USER = "1"; - String ROLE = "2"; - String DEPT = "3"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java deleted file mode 100644 index 56cb8ad..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EffectiveStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实施状态枚举类 - * @Author: wangpeng - * @Date: 2022/11/18 14:40 - */ -public enum EffectiveStatusEnum { - IN_USE("1", "在使用"), - NOT_USED("2", "未使用"), - REPEALED("3", "已废止"); - - private String code; - private String value; - - EffectiveStatusEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java deleted file mode 100644 index e9aacdf..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyProcessEnum.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.enums; - -public interface EquipmentApplyProcessEnum { - // 待借用 - String WAIT_BORROWED = "1"; - // 已借用 - String ALREADY_BORROWED = "2"; - // 已归还 - String ALREADY_RETURN = "3"; - // 待领用 - String WAIT_COLLECTING = "4"; - // 已领用 - String ALREADY_COLLECTING = "5"; - // 借用 - String BORROWED = "6"; - // 领用 - String COLLECT = "7"; - - // 在用(启封) - String USE = "1"; - // 闲置 - String IDLE = "2"; - // 封存 - String SEALED = "3"; - // 报废 - String SCRAP = "4"; - // 处置 - String MANAGEMENT = "5"; - // 标准装置-在用 - String STANDARD_USE = "1"; - // 处置 - String STOP = "2"; - // 处置 - String REVOKE = "3"; - - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java deleted file mode 100644 index ae8bfff..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/EquipmentApplyTypeEnum.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.casic.missiles.enums; - -public class EquipmentApplyTypeEnum { - - /** - * 设备领用申请 - */ - public static final String REQUIRE_APPLY = "1"; - /** - * 设备借用申请 - */ - public static final String BORROW_APPLY = "2"; - /** - * 设备闲置申请 - */ - public static final String IDEL_APPLY = "3"; - /** - * 设备封存申请 - */ - public static final String SEAL_APPLY = "4"; - /** - * 设备启封申请 - */ - public static final String UNSEAL_APPLY = "5"; - /** - * 设备报废申请 - */ - public static final String SCRAP_APPLY = "6"; - /** - * 设备报废申请 - */ - public static final String HANDLE_APPLY = "10"; - /** - * 设备检修 - */ - public static final String EXAM_APPLY = "8"; - /** - * 设备检修保养验收 - */ - public static final String REPAIR_APPLY = "9"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java deleted file mode 100644 index c6c36c7..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExamResultEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.casic.missiles.enums; - - -/** - * @Description: 考核状态枚举类 - */ -public enum ExamResultEnum { - - QUALIFIED("1", "合格"), - NOT_QUALIFIED("2", "不及格"); - - private String code; - private String value; - - ExamResultEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java deleted file mode 100644 index 25d2e65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/HandOutPropertyEnum.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 分发性质枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface HandOutPropertyEnum { - String FIRST_HANDOUT = "初次分发"; - String SEND_BACK_HANDOUT = "退回分发"; -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java deleted file mode 100644 index 367cc15..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeasureStatusEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 实验室记录检定状态类型枚举 - * @Author: wangpeng - * @Date: 2023/02/08 16:51 - */ -public interface MeasureStatusEnum { - String TO_ALLOCATE = "1"; //待分配 - String TO_MEASURE = "2"; //待检测 - String IN_MEASURE = "3"; //检测中 - String MEASURE_COMPLETE = "4"; //检测完成 - String SEND_BACK = "5"; //退回 - String TERMINATED = "6"; //已终止 -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java deleted file mode 100644 index 8d3da10..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MessageTypeEnum.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.casic.missiles.enums; - -public enum MessageTypeEnum { - - METER_CERTIFICATE("1", "计量人员证书到期提醒"), - MEASURING_EQUIPMENT("2", "测量设备到期提醒"), - STANDARD_EQUIPMENT("3", "标准装置到期提醒"); - - private String code; - private String value; - - MessageTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java deleted file mode 100644 index 136c07a..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDeptTypeEnum.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 计量组织类型枚举类 - * @Author: wangpeng - * @Date: 2022/11/27 14:40 - */ -public enum MeterDeptTypeEnum { - DEPARTMENT("2", "部门"), - ADMINISTRATIVE_OFFICE("3", "科室"), - ENGINEERING_TEAM("4", "工程组"); - - private String code; - private String value; - - MeterDeptTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java deleted file mode 100644 index a2118ac..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterDictEnum.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 字典名枚举 - * @Author: wangpeng - * @Date: 2022/11/27 10:41 - */ -public interface MeterDictEnum { - //审批状态 - String APPROVAL_STATUS = "approvalStatus"; - //实施状态 - String EFFECTIVE_STATUS = "effectiveStatus"; - //文件类别 - String FILE_TYPE = "fileType"; - //行政职务 - String ADMINISTRATION_JOB = "administrationJob"; - //技术职称 - String TECHNOLOGY_JOB = "technologyJob"; - //文化程度 - String EDUCATION = "education"; - //校验类型 - String CHECK_TYPE = "checkType"; - //价格类别 - String PRICE_TYPE = "priceType"; - //项目 - String PRICE_ITEM = "priceItem"; - //业务员折扣权限 - String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; - //负责人折扣权限 - String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; - //标准装置-申请类型 - String STANDARD_APPLY_TYPE = "standardApplyType"; - //房间号 - String DOOR_NUMBER = "doorCode"; - //已删除 - Boolean DELETE_TRUE = true; - //未删除 - Boolean DELETE_FALSE = false; - //资产类型1(测量设备) - String ASSET_TYPE_1 = "1"; - - String MEASURE_STATUS = "measureStatus"; - //校验类别 - String MEASURE_CATEGORY= "measureCategory"; - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java deleted file mode 100644 index c6b26c3..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MeterRoleTypeEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.casic.missiles.enums; - -public enum MeterRoleTypeEnum { - - ADMIN("1", "管理员"), - METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); - - private String code; - private String value; - - MeterRoleTypeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java deleted file mode 100644 index 7b32914..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/MonitorCodeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.casic.missiles.enums; - -/** - * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 - * 无线电 - * 光学 - * 时间频率 - * 电磁学 - * 几何量 - * 热学 - * 力学 - * 环境试验 - * 电磁兼容 - * 医疗器械 - * 理化分析 - * 电力系统 - * @Author: zt - * @Date: 2023/2/18 14:40 - */ -public enum MonitorCodeEnum { - WIRELESS("1", "RIM"), - OPTICS("2", "TOE"), - TIME_FREQUENCY("3", "TTF"), - EMC("4", "DMS"), - GEOMETRY("5", "JHL"), - HEAT("6", "RXZ"), - DYNAMICS("7", "LXZ"), - ENVIRONMENT_TEST("8", "TET"), - DCJR("9", "EMC"), - YLQX("10", "DCJ"), - LHFX("11", "LHF"), - DLXT("12", "DLX"); - - private String code; - private String value; - - MonitorCodeEnum(String code, String value) { - this.code = code; - this.value = value; - } - - - public static MonitorCodeEnum getByCode(String code) { - try { - for (MonitorCodeEnum temp : values()) { - if (temp.code .equals(code)) { - return temp; - } - } - } catch (Exception e) { - } - return null; - } - - public String getCode() { - return code; - } - - public String getValue() { - return value; - } -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java index 6b109a2..387f5dc 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java @@ -6,10 +6,46 @@ * @Date: 2023/2/13 15:41 */ public interface PrefixCodeEnum { + /*************计量管理模块**************/ + String FILE_PREFIX = "jlwj"; + String ORGANIZE_PREFIX = "jlzz"; + String PRICE_PREFIX = "jg"; + String STAFF_PREFIX = "jlry"; + String TRACE_SUPPLIER_PREFIX = "sygf"; + String TRAIN_PLAN_PREFIX = "pxjh"; + String TRAIN_LOG_PREFIX = "pxjl"; - //环境记录单编号生成前缀 - String ENVIRONMENT_PREFIX = "hjld"; - //原始记录单编号生成前缀 - String ORIGIN_PREFIX = "ysld"; + /*************系统设置模块**************/ + String NOTICE_PREFIX = "tzgg"; + String SIGN_PREFIX = "qmqz"; + String TEMPLATE_PREFIX = "jlbg"; + + /*************测量设备模块**************/ + String REPAIR_MAINTAIN_PREFIX = "sbjxbyysd"; + String CHECK_PREFIX = "jc"; + String FIXED_ASSETS_PREFIX = "gdzc"; + String STANDARD_EQUIPMENT = "bzzz"; + + /*************客户资源模块**************/ + //样品编号 + String SAMPLE_PREFIX = "khyp"; + //客户编号 + String CUSTOMER_PREFIX = "khxx"; + //客户建议编号 + String CUSTOMER_ADVICE_PREFIX = "khjy"; + //客户用户编号 + String CUSTOMER_USER_PREFIX = "khyh"; + //委托书编号 + String ORDER_PREFIX = "wtsc"; + + /*************业务管理模块**************/ + //交接单编号 + String INTER_CHANGE_PREFIX = "jjdh"; + //环境记录单编号生成前缀 + String ENVIRONMENT_PREFIX = "hjld"; + //原始记录单编号生成前缀 + String ORIGIN_PREFIX = "ysld"; + //实验室检测模板 + String LAB_EXECUTIVE_TEMPLATE_PREFIX = "sysjcmb"; } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java deleted file mode 100644 index ed8fe65..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/StandardApplyTypeEnum.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.enums; - -public class StandardApplyTypeEnum { - - /** - * 更换申请 - */ - public static final String REPLACE_APPLY = "1"; - /** - * 暂停申请 - */ - public static final String SUSPEND_APPLY = "2"; - /** - * 撤销申请 - */ - public static final String REVOKE_APPLY = "3"; - /** - * 恢复申请 - */ - public static final String RECOVERY_APPLY = "4"; - /** - * 复查申请 - */ - public static final String REVIEW_APPLY = "5"; - -} 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 new file mode 100644 index 0000000..a013d67 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/CertificatePrintStatusEnum.java @@ -0,0 +1,19 @@ +package com.casic.missiles.enums.business; + +public interface CertificatePrintStatusEnum { + + /** + * 不可打印 + */ + String PRINTABLE = "1"; + + /** + * 不可打印 + */ + String NON_PRINTABLE = "2"; + + /** + * 审批中 + */ + String IN_APPROVAL = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java new file mode 100644 index 0000000..3433867 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/HandOutPropertyEnum.java @@ -0,0 +1,11 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 分发性质枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface HandOutPropertyEnum { + String FIRST_HANDOUT = "初次分发"; + String SEND_BACK_HANDOUT = "退回分发"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java new file mode 100644 index 0000000..2edb324 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureStatusEnum.java @@ -0,0 +1,15 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 实验室记录检定状态类型枚举 + * @Author: wangpeng + * @Date: 2023/02/08 16:51 + */ +public interface MeasureStatusEnum { + String TO_ALLOCATE = "1"; //待分配 + String TO_MEASURE = "2"; //待检测 + String IN_MEASURE = "3"; //检测中 + String MEASURE_COMPLETE = "4"; //检测完成 + String SEND_BACK = "5"; //退回 + String TERMINATED = "6"; //已终止 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java new file mode 100644 index 0000000..a0b0274 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MeasureTypeEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +/** + * @author cz + */ +public interface MeasureTypeEnum { + /** + * 自检 + */ + String INSIDE_MEASURE = "1"; + + /** + * 外包 + */ + String OTHERS_UNDERTAKE = "2"; + + /** + * 外检 + */ + String OUTSIDE_MEASURE = "3"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java new file mode 100644 index 0000000..7e2475d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java @@ -0,0 +1,62 @@ +package com.casic.missiles.enums.business; + +/** + * @Description: 检测/校准参数代码枚举类 用于生成证书报告前缀 + * 无线电 + * 光学 + * 时间频率 + * 电磁学 + * 几何量 + * 热学 + * 力学 + * 环境试验 + * 电磁兼容 + * 医疗器械 + * 理化分析 + * 电力系统 + * @Author: zt + * @Date: 2023/2/18 14:40 + */ +public enum MonitorCodeEnum { + WIRELESS("1", "RIM"), + OPTICS("2", "TOE"), + TIME_FREQUENCY("3", "TTF"), + EMC("4", "DMS"), + GEOMETRY("5", "JHL"), + HEAT("6", "RXZ"), + DYNAMICS("7", "LXZ"), + ENVIRONMENT_TEST("8", "TET"), + DCJR("9", "EMC"), + YLQX("10", "DCJ"), + LHFX("11", "LHF"), + DLXT("12", "DLX"); + + private String code; + private String value; + + MonitorCodeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + + public static MonitorCodeEnum getByCode(String code) { + try { + for (MonitorCodeEnum temp : values()) { + if (temp.code .equals(code)) { + return temp; + } + } + } catch (Exception e) { + } + return null; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java new file mode 100644 index 0000000..5177bd3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/OrderStatusEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.business; + +public interface OrderStatusEnum { + + /** + * 未接收 + */ + String NOT_RECEIVED = "1"; + /** + * 已接收 + */ + String ALREADY_RECEIVED = "2"; + /** + * 已取消 + */ + String ALREADY_CANCEL = "3"; + + /** + * 检测完成 + */ + String COMPLETE = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java new file mode 100644 index 0000000..b1061d7 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyProcessEnum.java @@ -0,0 +1,37 @@ +package com.casic.missiles.enums.equipment; + +public interface EquipmentApplyProcessEnum { + // 待借用 + String WAIT_BORROWED = "1"; + // 已借用 + String ALREADY_BORROWED = "2"; + // 已归还 + String ALREADY_RETURN = "3"; + // 待领用 + String WAIT_COLLECTING = "4"; + // 已领用 + String ALREADY_COLLECTING = "5"; + // 借用 + String BORROWED = "6"; + // 领用 + String COLLECT = "7"; + + // 在用(启封) + String USE = "1"; + // 闲置 + String IDLE = "2"; + // 封存 + String SEALED = "3"; + // 报废 + String SCRAP = "4"; + // 处置 + String MANAGEMENT = "5"; + // 标准装置-在用 + String STANDARD_USE = "1"; + // 处置 + String STOP = "2"; + // 处置 + String REVOKE = "3"; + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java new file mode 100644 index 0000000..88f80df --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/EquipmentApplyTypeEnum.java @@ -0,0 +1,42 @@ +package com.casic.missiles.enums.equipment; + +public class EquipmentApplyTypeEnum { + + /** + * 设备领用申请 + */ + public static final String REQUIRE_APPLY = "1"; + /** + * 设备借用申请 + */ + public static final String BORROW_APPLY = "2"; + /** + * 设备闲置申请 + */ + public static final String IDEL_APPLY = "3"; + /** + * 设备封存申请 + */ + public static final String SEAL_APPLY = "4"; + /** + * 设备启封申请 + */ + public static final String UNSEAL_APPLY = "5"; + /** + * 设备报废申请 + */ + public static final String SCRAP_APPLY = "6"; + /** + * 设备报废申请 + */ + public static final String HANDLE_APPLY = "10"; + /** + * 设备检修 + */ + public static final String EXAM_APPLY = "8"; + /** + * 设备检修保养验收 + */ + public static final String REPAIR_APPLY = "9"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java new file mode 100644 index 0000000..2c513f4 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/equipment/StandardApplyTypeEnum.java @@ -0,0 +1,26 @@ +package com.casic.missiles.enums.equipment; + +public class StandardApplyTypeEnum { + + /** + * 更换申请 + */ + public static final String REPLACE_APPLY = "1"; + /** + * 暂停申请 + */ + public static final String SUSPEND_APPLY = "2"; + /** + * 撤销申请 + */ + public static final String REVOKE_APPLY = "3"; + /** + * 恢复申请 + */ + public static final String RECOVERY_APPLY = "4"; + /** + * 复查申请 + */ + public static final String REVIEW_APPLY = "5"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java new file mode 100644 index 0000000..ec5fcf8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/EffectiveStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 实施状态枚举类 + * @Author: wangpeng + * @Date: 2022/11/18 14:40 + */ +public enum EffectiveStatusEnum { + IN_USE("1", "在使用"), + NOT_USED("2", "未使用"), + REPEALED("3", "已废止"); + + private String code; + private String value; + + EffectiveStatusEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java new file mode 100644 index 0000000..78d5f9a --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/ExamResultEnum.java @@ -0,0 +1,27 @@ +package com.casic.missiles.enums.meter; + + +/** + * @Description: 考核状态枚举类 + */ +public enum ExamResultEnum { + + QUALIFIED("1", "合格"), + NOT_QUALIFIED("2", "不及格"); + + private String code; + private String value; + + ExamResultEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java new file mode 100644 index 0000000..838e205 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDeptTypeEnum.java @@ -0,0 +1,29 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 计量组织类型枚举类 + * @Author: wangpeng + * @Date: 2022/11/27 14:40 + */ +public enum MeterDeptTypeEnum { + DEPARTMENT("2", "部门"), + ADMINISTRATIVE_OFFICE("3", "科室"), + ENGINEERING_TEAM("4", "工程组"); + + private String code; + private String value; + + MeterDeptTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java new file mode 100644 index 0000000..2c0880e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java @@ -0,0 +1,46 @@ +package com.casic.missiles.enums.meter; + +/** + * @Description: 字典名枚举 + * @Author: wangpeng + * @Date: 2022/11/27 10:41 + */ +public interface MeterDictEnum { + //审批状态 + String APPROVAL_STATUS = "approvalStatus"; + //实施状态 + String EFFECTIVE_STATUS = "effectiveStatus"; + //文件类别 + String FILE_TYPE = "fileType"; + //行政职务 + String ADMINISTRATION_JOB = "administrationJob"; + //技术职称 + String TECHNOLOGY_JOB = "technologyJob"; + //文化程度 + String EDUCATION = "education"; + //校验类型 + String CHECK_TYPE = "checkType"; + //价格类别 + String PRICE_TYPE = "priceType"; + //项目 + String PRICE_ITEM = "priceItem"; + //业务员折扣权限 + String OPERATOR_DISCOUNT_PERMISSION = "operatorDiscountPermission"; + //负责人折扣权限 + String DIRECTOR_DISCOUNT_PERMISSION = "directorDiscountPermission"; + //标准装置-申请类型 + String STANDARD_APPLY_TYPE = "standardApplyType"; + //房间号 + String DOOR_NUMBER = "doorCode"; + //已删除 + Boolean DELETE_TRUE = true; + //未删除 + Boolean DELETE_FALSE = false; + //资产类型1(测量设备) + String ASSET_TYPE_1 = "1"; + + String MEASURE_STATUS = "measureStatus"; + //校验类别 + String MEASURE_CATEGORY= "measureCategory"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java new file mode 100644 index 0000000..80e422c --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterRoleTypeEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.meter; + +public enum MeterRoleTypeEnum { + + ADMIN("1", "管理员"), + METER_DEPT_ADMIN("1586711737844137956", "计量部门负责人"); + + private String code; + private String value; + + MeterRoleTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-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 new file mode 100644 index 0000000..ebb9d60 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/ActionStatusBeanEnum.java @@ -0,0 +1,18 @@ +package com.casic.missiles.enums.notifyevent; + +/** + * 这里定义bean的信息 + */ +public interface ActionStatusBeanEnum { + + String APPLY_BEAN_NAME = "equipmentApplyBean"; + + String SUPPORT_BEAN_NAME = "equipmentSupportBean"; + + String MANAGING_BEAN_NAME = "equipmentManagingBean"; + + String CERTIFICATE_BEAN_NAME = "certificatePrintBean"; + + String LEASE_BEAN_NAME = "equipmentLeaseBean"; + +} 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 new file mode 100644 index 0000000..9300729 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/notifyevent/AwareActionStatusEnum.java @@ -0,0 +1,63 @@ +package com.casic.missiles.enums.notifyevent; + +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; + +import java.util.HashMap; + +public enum AwareActionStatusEnum implements ActionStatusBeanEnum { + EQUIPMENT_APPLY_USE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STANDARD_USE), + EQUIPMENT_APPLY_STOP(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.STOP), + EQUIPMENT_APPLY_REVOKE(APPLY_BEAN_NAME, EquipmentApplyProcessEnum.REVOKE), + EQUIPMENT_SUPPORT_STATUS(SUPPORT_BEAN_NAME, ""), + DEVICE_MANAGING_IDLE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.IDLE), + DEVICE_MANAGING_SEALED(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SEALED), + DEVICE_MANAGING_USE(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.USE), + DEVICE_MANAGING_SCRAP(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.SCRAP), + DEVICE_MANAGING_MANAGEMENT(MANAGING_BEAN_NAME, EquipmentApplyProcessEnum.MANAGEMENT), + DEVICE_LEASE_CONSUMING(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_COLLECTING), + DEVICE_LEASE_BORROWED(LEASE_BEAN_NAME, EquipmentApplyProcessEnum.WAIT_BORROWED), + CERTIFICATE_PRINT_STATUS(CERTIFICATE_BEAN_NAME, ""), + ACTION_STATUS_MAP(new HashMap() { + { + put(ApplyFromIdEnum.STANDARD_REVERT_APPROVAL, EQUIPMENT_APPLY_USE); + put(ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL, EQUIPMENT_APPLY_STOP); + put(ApplyFromIdEnum.STANDARD_RESUME_APPROVAL, EQUIPMENT_APPLY_REVOKE); + put(ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL, EQUIPMENT_SUPPORT_STATUS); + put(ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL, DEVICE_MANAGING_IDLE); + put(ApplyFromIdEnum.DEVICE_SEALED_APPROVAL, DEVICE_MANAGING_SEALED); + put(ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL, DEVICE_MANAGING_USE); + put(ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL, DEVICE_MANAGING_SCRAP); + put(ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL, DEVICE_MANAGING_MANAGEMENT); + put(ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL, DEVICE_LEASE_CONSUMING); // 设备领用申请 + put(ApplyFromIdEnum.DEVICE_BORROW_APPROVAL, DEVICE_LEASE_BORROWED); // 设备借用申请 + put(ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL, CERTIFICATE_PRINT_STATUS); //证书打印审批通过状态回填 + } + }); + String actionBeanName; + String status; + + AwareActionStatusEnum(String actionBeanName, String status) { + this.actionBeanName = actionBeanName; + this.status = status; + } + + public String getActionBeanName() { + return actionBeanName; + } + + public String getStatus() { + return status; + } + + public HashMap actionStatusMap; + + AwareActionStatusEnum(HashMap actionStatusMap) { + this.actionStatusMap = actionStatusMap; + } + + public HashMap getActionStatusMap() { + return actionStatusMap; + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java new file mode 100644 index 0000000..d32da8d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/CertificationExpireStatusEnum.java @@ -0,0 +1,23 @@ +package com.casic.missiles.enums.sample; + +/** + * @author cz + */ +public interface CertificationExpireStatusEnum { + + /** + * 未超期 + */ + String NORMAL = "0"; + + /** + * 即将超期,距离结束即将到30天 + */ + String ALMOST_EXPIRE = "1"; + + /** + * 已经超期 + */ + String ALREADY_EXPIRE = "2"; + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java new file mode 100644 index 0000000..bbef828 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApplyFromIdEnum.java @@ -0,0 +1,22 @@ +package com.casic.missiles.enums.system; + +public interface ApplyFromIdEnum { + String FILE_APPROVAL = "jlglwjsp"; // 文件审批; + String TRAIN_APPROVAL = "jlglpxjhsp"; // 培训计划审批 + String SUPPLIER_APPROVAL = "jlglsygfsp"; // 溯源供方审批 + String STANDARD_CHANGE_APPROVAL = "sbglbzzzghsq"; // 标准装置更换申请 + String STANDARD_PAUSE_APPROVAL = "sbglbzzzztsq"; // 标准装置暂停申请 + String STANDARD_REVERT_APPROVAL = "sbglbzzzcxsq"; // 标准装置撤销申请 + String STANDARD_RESUME_APPROVAL = "sbglbzzzhfsq"; // 标准装置恢复申请 + String STANDARD_CHECK_APPROVAL = "sbglbzzzfcsq"; // 标准装置复查申请 + String DEVICE_UNUSED_APPROVAL = "sbglsbxzsq"; // 设备闲置申请 + String DEVICE_SEALED_APPROVAL = "sbglsbfcsq"; // 设备封存申请 + String DEVICE_UNSEALED_APPROVAL = "sbglsbqfsq"; // 设备启封申请 + String DEVICE_SCRAPPED_ROVAL = "sbglsbbfsq"; // 设备报废申请 + String DEVICE_HANDLE_APPROVAL = "sbglsbczsq"; // 设备处置申请 + String DEVICE_CONSUMING_APPROVAL = "clsblysp"; // 设备领用申请 + String DEVICE_BORROW_APPROVAL = "clsbjysp"; // 设备借用申请 + String DEVICE_FIX_APPROVAL = "sbglsbjxsq"; // 设备检修申请 + String DEVICE_FIX_ACCEPTANCE = "sbglsbjxbyysd"; // 设备检修保养验收单 + String CERTIFICATE_PRINT_APPROVAL = "ywglzsdy"; // 证书打印通过 +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java new file mode 100644 index 0000000..998b89d --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/ApprovalStatusEnum.java @@ -0,0 +1,28 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: 审批状态类型枚举 + * @Author: wangpeng + * @Date: 2022/12/15 10:51 + */ +public interface ApprovalStatusEnum { + String PROCESS_STATUS = "processStatus"; + //全部 + String ALL = "0"; + //草稿箱 + String DRAFT = "1"; + //待审批 + String TO_BE_APPROVED = "2"; + //审批中,驳回后编辑会设置该状态到flowable + String IN_APPROVED = "3"; + //已通过,会设置到flowable(listener) + String PASSED = "4"; + //未通过,会设置到flowable + String FAILED = "5"; + //未通过-驳回,会设置到flowable + String FAILED_REJECT = "8"; + //已取消,会设置到flowable + String CANCELED = "6"; + //非草稿状态,仅在枚举中设置,字典中不设置 + String UN_DRAFT = "7"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java new file mode 100644 index 0000000..10a034b --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeSetTypeEnum.java @@ -0,0 +1,16 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2022/12/27 16:00 + */ +public interface AssigneeSetTypeEnum { + //1指定成员 11指定角色 2主管 4发起人自选 5发起人自己 7连续多级主管 + Integer ASSIGN_USER = 1; + Integer LEADER = 2; + Integer SELF_SELECT = 4; + Integer SELF = 5; + Integer LEADER_TOP = 7; + Integer ROLE = 11; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java new file mode 100644 index 0000000..a6bbe6f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/system/AssigneeTypeEnum.java @@ -0,0 +1,13 @@ +package com.casic.missiles.enums.system; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/02/09 16:00 + */ +public interface AssigneeTypeEnum { + //1具体人员 2角色 3部门 + String USER = "1"; + String ROLE = "2"; + String DEPT = "3"; +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java new file mode 100644 index 0000000..bb46af8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/workbench/MessageTypeEnum.java @@ -0,0 +1,25 @@ +package com.casic.missiles.enums.workbench; + +public enum MessageTypeEnum { + + METER_CERTIFICATE("1", "计量人员证书到期提醒"), + MEASURING_EQUIPMENT("2", "测量设备到期提醒"), + STANDARD_EQUIPMENT("3", "标准装置到期提醒"), + OVERTIME_MEASURE("4", "超出检定时间催办提醒"); + + private String code; + private String value; + + MessageTypeEnum(String code, String value) { + this.code = code; + this.value = value; + } + + public String getCode() { + return code; + } + + public String getValue() { + return value; + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java new file mode 100644 index 0000000..229d96f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/NotifyStatusPostProcessor.java @@ -0,0 +1,13 @@ +package com.casic.missiles.listeners; + +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; + +/** + * @author cz + * 工作流监听后置事件 + */ +public interface NotifyStatusPostProcessor { + + void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO); + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java index b9a25a7..fbb8a70 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/flowable/CounterSignListener.java @@ -4,8 +4,8 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; -import com.casic.missiles.enums.AssigneeSetTypeEnum; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeSetTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; import com.casic.missiles.modular.system.dao.DeptMapper; 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 3345ca5..8ac418f 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 @@ -1,20 +1,18 @@ package com.casic.missiles.listeners.flowable; -import com.alibaba.excel.util.DateUtils; -import cn.hutool.core.lang.Assert; 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.enums.ApplyFromIdEnum; -import com.casic.missiles.enums.ApprovalStatusEnum; +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.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.MeterFixedAssetsMapper; -import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; import com.casic.missiles.mapper.equipment.*; import com.casic.missiles.mapper.system.SystemFlowFormMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; import com.casic.missiles.mapper.workbench.WorkbenchApprovalMessageMapper; import com.casic.missiles.model.equipment.*; import com.casic.missiles.model.system.SystemFlowForm; @@ -25,18 +23,13 @@ import com.casic.missiles.utils.WebSocket; import lombok.extern.slf4j.Slf4j; import org.flowable.engine.RepositoryService; +import org.flowable.engine.RuntimeService; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.ExecutionListener; import org.flowable.engine.repository.ProcessDefinition; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - @Slf4j @Component public class ProcessUpdateStateListener implements ExecutionListener { @@ -45,6 +38,7 @@ @Transactional public void notify(DelegateExecution execution) { RepositoryService repositoryService = SpringContextUtil.getBean(RepositoryService.class); + RuntimeService runtimeService = SpringContextUtil.getBean(RuntimeService.class); SystemFlowFormMapper flowFormMapper = SpringContextUtil.getBean(SystemFlowFormMapper.class); System.err.println("审批通过触发监听器:" + execution); ProcessDefinition processDefinition = repositoryService.getProcessDefinition(execution.getProcessDefinitionId()); @@ -54,179 +48,20 @@ // 查出流程定义信息 SystemFlowForm systemFlowForm = flowFormMapper.selectOne(wrapper); String id = execution.getProcessInstanceBusinessKey(); - switch (systemFlowForm.getFormId()) { - // 标准装置申请 - case ApplyFromIdEnum.STANDARD_REVERT_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STANDARD_USE); - break; - case ApplyFromIdEnum.STANDARD_PAUSE_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.STOP); - break; - case ApplyFromIdEnum.STANDARD_RESUME_APPROVAL: - updateStandardState(id, EquipmentApplyProcessEnum.REVOKE); - break; - case ApplyFromIdEnum.STANDARD_CHANGE_APPROVAL: - changeSupportingEquipment(id); - break; - // 设备状态管理申请 - case ApplyFromIdEnum.DEVICE_UNUSED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.IDLE); - break; - case ApplyFromIdEnum.DEVICE_SEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SEALED); - break; - case ApplyFromIdEnum.DEVICE_UNSEALED_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.USE); - break; - case ApplyFromIdEnum.DEVICE_SCRAPPED_ROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.SCRAP); - break; - case ApplyFromIdEnum.DEVICE_HANDLE_APPROVAL: - updateEquipmentState(id, EquipmentApplyProcessEnum.MANAGEMENT); - break; - // 设备借用领用申请 - case ApplyFromIdEnum.DEVICE_CONSUMING_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_COLLECTING); - break; - case ApplyFromIdEnum.DEVICE_BORROW_APPROVAL: - updateEquipmentApplyState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - // 设备检修保养验收申请 - case ApplyFromIdEnum.DEVICE_FIX_ACCEPTANCE: - acceptanceCheckUpdateState(id, EquipmentApplyProcessEnum.WAIT_BORROWED); - break; - //证书打印审批通过状态回填 - case ApplyFromIdEnum.CERTIFICATE_PRINT_APPROVAL: - updateCertificateState(Long.valueOf(id)); - break; + 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); } - + //设置通过状态为已通过 + runtimeService.updateBusinessStatus(execution.getProcessInstanceId(), ApprovalStatusEnum.PASSED); //审批通过,通知发起人 sendMessageAndSocket(execution, systemFlowForm); } - /** - * 审批通过后修改标准装置配套设备 - * @param id - */ - private void changeSupportingEquipment(String id) { - EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); - List supportEquipments = new ArrayList<>(); - // 通过申请id查询申请信息 - EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); - // 通过申请id查询出申请设备列表 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); - // 设备ids - List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - for (Long equipmentId : equipmentIds) { - EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); - supportEquipment.setEquipmentId(equipmentId); - supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); - supportEquipments.add(supportEquipment); - } - // 通过标准装置id删除原先配套设备 - QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); - supportEquipmentWrapper.eq("standard_equipment_id",standardApply.getStandardEquipmentId()); - supportMapper.delete(supportEquipmentWrapper); - // 新增配套设备 - for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { - if (supportMapper.insert(supportEquipment) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } - private void acceptanceCheckUpdateState(String id, String state) { - - } - /** - * 审批通过后修改设备借用/领用状态 - * @param id - */ - private void updateEquipmentApplyState(String id, String state) { - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("id", id).set("process_result", state); - if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - /** - * 审批通过后修改设备管理状态 - * 新增状态变更记录表 - * @param id - */ - private void updateEquipmentState(String id, String state) { - EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); - EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); - // 获取申请关联的设备id - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("apply_id", id); - List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); - // 获取设备idList - List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { - UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); - // 修改状态变更记录结束时间 - logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); - if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - // 获取当前申请的信息 - EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); - // 新增状态变更记录 - for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { - EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); - if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - } else { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - /** - * 审批通过后修改标准装置业务状态 - * @param id - * @param state - */ - private void updateStandardState(String id, String state) { - MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); - EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("standard_apply_id",id); - List equipments = applyEquipmentMapper.selectList(queryWrapper); - List equipmentIds = equipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.in("id", equipmentIds).set("manager_state", state); - if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - - private void updateCertificateState(Long id) { - Assert.isFalse(Objects.isNull(id), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); - }); - BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); - BusinessCertificateReport certificateReport = new BusinessCertificateReport(); - certificateReport.setId(id); - certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 - certificateReport.setPrintStatus("1"); //打印状态可打印 - int row = certificateReportMapper.updateById(certificateReport); - if (row <= 0) { - throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); - } - } - private void sendMessageAndSocket(DelegateExecution execution, SystemFlowForm systemFlowForm) { JSONObject jsonObject = JSONObject.parseObject(systemFlowForm.getFlowDef()); JSONObject workFlowDef = jsonObject.getJSONObject("workFlowDef"); @@ -254,4 +89,5 @@ webSocket.sendOneMessage(String.valueOf(rootId), JSONObject.toJSONString(approvalMessage)); } } + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java new file mode 100644 index 0000000..ae742d3 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/CertificateStateStatusPostProcessor.java @@ -0,0 +1,43 @@ +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 cz + * + * 证书打印审批通过状态回填 + */ +@Service(ActionStatusBeanEnum.CERTIFICATE_BEAN_NAME) +public class CertificateStateStatusPostProcessor 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); + }); + BusinessCertificateReportMapper certificateReportMapper = SpringContextUtil.getBean(BusinessCertificateReportMapper.class); + BusinessCertificateReport certificateReport = new BusinessCertificateReport(); + certificateReport.setId(id); + certificateReport.setApprovalStatus(ApprovalStatusEnum.PASSED); //审批状态为审批中 + certificateReport.setPrintStatus("1"); //打印状态可打印 + int row = certificateReportMapper.updateById(certificateReport); + if (row <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java new file mode 100644 index 0000000..db56f5f --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentApplyStatusPostProcessor.java @@ -0,0 +1,32 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * @author xzz + * + * 审批通过后修改标准装置业务状态 + */ +@Service(ActionStatusBeanEnum.APPLY_BEAN_NAME) +public class EquipmentApplyStatusPostProcessor implements NotifyStatusPostProcessor { + + @Override + public void doUpdateNotifyEventStatus( NotifyEventStatusDTO notifyEventStatusDTO) { + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", notifyEventStatusDTO.getId()).set("manager_state", notifyEventStatusDTO.getStatus()); + if (meterFixedAssetsMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java new file mode 100644 index 0000000..528fab8 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentLeaseStatusPostProcessor.java @@ -0,0 +1,30 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +/** + * 审批通过后 + * 修改设备租借状态 + * + */ +@Service(ActionStatusBeanEnum.LEASE_BEAN_NAME) +public class EquipmentLeaseStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", notifyEventStatusDTO.getId()).set("process_result", notifyEventStatusDTO.getStatus()); + if (equipmentApplyMapper.update(null, updateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java new file mode 100644 index 0000000..773539e --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentManagingStatusPostProcessor.java @@ -0,0 +1,70 @@ +package com.casic.missiles.listeners.processor; + +import com.alibaba.excel.util.DateUtils; +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.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.MeterFixedAssetsMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStateChangeLogMapper; +import com.casic.missiles.model.equipment.EquipmentApply; +import com.casic.missiles.model.equipment.EquipmentApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentFixedAssets; +import com.casic.missiles.model.equipment.EquipmentStateChangeLog; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改设备管理状态 + * * 新增状态变更记录表 + */ +@Service(ActionStatusBeanEnum.MANAGING_BEAN_NAME) +public class EquipmentManagingStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String state=notifyEventStatusDTO.getStatus(); + String id=notifyEventStatusDTO.getId(); + EquipmentApplyEquipmentMapper equipmentMapper = SpringContextUtil.getBean(EquipmentApplyEquipmentMapper.class); + MeterFixedAssetsMapper meterFixedAssetsMapper = SpringContextUtil.getBean(MeterFixedAssetsMapper.class); + EquipmentStateChangeLogMapper stateChangeLogMapper = SpringContextUtil.getBean(EquipmentStateChangeLogMapper.class); + EquipmentApplyMapper equipmentApplyMapper = SpringContextUtil.getBean(EquipmentApplyMapper.class); + // 获取申请关联的设备id + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("apply_id", id); + List equipmentApplyEquipments = equipmentMapper.selectList(wrapper); + // 获取设备idList + List equipmentIds = equipmentApplyEquipments.stream().map(EquipmentApplyEquipment::getEquipmentId).collect(Collectors.toList()); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", equipmentIds).set("manager_state", state); + if (meterFixedAssetsMapper.update(null, updateWrapper) > 0) { + UpdateWrapper logUpdateWrapper = new UpdateWrapper<>(); + // 修改状态变更记录结束时间 + logUpdateWrapper.in("equipment_id", equipmentIds).isNull("end_date").set("end_date", DateUtils.format(new Date())); + if (stateChangeLogMapper.update(null, logUpdateWrapper) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + // 获取当前申请的信息 + EquipmentApply equipmentApply = equipmentApplyMapper.selectById(id); + // 新增状态变更记录 + for (EquipmentApplyEquipment equipment : equipmentApplyEquipments) { + EquipmentStateChangeLog stateChangeLog = new EquipmentStateChangeLog(Long.parseLong(id), Long.parseLong(equipment.getEquipmentId()), state, DateUtils.format(new Date()), null, Long.parseLong(equipmentApply.getApplyPerson())); + if (stateChangeLogMapper.insert(stateChangeLog) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } else { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java new file mode 100644 index 0000000..f084655 --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/listeners/processor/EquipmentSupportStatusPostProcessor.java @@ -0,0 +1,60 @@ +package com.casic.missiles.listeners.processor; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.dto.flowable.NotifyEventStatusDTO; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.notifyevent.ActionStatusBeanEnum; +import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.listeners.NotifyStatusPostProcessor; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardApplyMapper; +import com.casic.missiles.mapper.equipment.EquipmentStandardSupportMapper; +import com.casic.missiles.model.equipment.EquipmentStandardApply; +import com.casic.missiles.model.equipment.EquipmentStandardApplyEquipment; +import com.casic.missiles.model.equipment.EquipmentStandardSupportEquipment; +import com.casic.missiles.utils.SpringContextUtil; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author xzz + * * 审批通过后修改标准装置配套设备状态 + */ +@Service(ActionStatusBeanEnum.SUPPORT_BEAN_NAME) +public class EquipmentSupportStatusPostProcessor implements NotifyStatusPostProcessor { + @Override + public void doUpdateNotifyEventStatus(NotifyEventStatusDTO notifyEventStatusDTO) { + String id = notifyEventStatusDTO.getId(); + EquipmentStandardApplyMapper standardApplyMapper = SpringContextUtil.getBean(EquipmentStandardApplyMapper.class); + EquipmentStandardApplyEquipmentMapper applyEquipmentMapper = SpringContextUtil.getBean(EquipmentStandardApplyEquipmentMapper.class); + EquipmentStandardSupportMapper supportMapper = SpringContextUtil.getBean(EquipmentStandardSupportMapper.class); + List supportEquipments = new ArrayList<>(); + // 通过申请id查询申请信息 + EquipmentStandardApply standardApply = standardApplyMapper.selectById(id); + // 通过申请id查询出申请设备列表 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("standard_apply_id", id); + List equipmentStandardApplyEquipments = applyEquipmentMapper.selectList(queryWrapper); + // 设备ids + List equipmentIds = equipmentStandardApplyEquipments.stream().map(EquipmentStandardApplyEquipment::getEquipmentId).collect(Collectors.toList()); + for (Long equipmentId : equipmentIds) { + EquipmentStandardSupportEquipment supportEquipment = new EquipmentStandardSupportEquipment(); + supportEquipment.setEquipmentId(equipmentId); + supportEquipment.setStandardEquipmentId(Long.valueOf(standardApply.getStandardEquipmentId())); + supportEquipments.add(supportEquipment); + } + // 通过标准装置id删除原先配套设备 + QueryWrapper supportEquipmentWrapper = new QueryWrapper<>(); + supportEquipmentWrapper.eq("standard_equipment_id", standardApply.getStandardEquipmentId()); + supportMapper.delete(supportEquipmentWrapper); + // 新增配套设备 + for (EquipmentStandardSupportEquipment supportEquipment : supportEquipments) { + if (supportMapper.insert(supportEquipment) <= 0) { + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + } + } +} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java deleted file mode 100644 index 9e7ed3f..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/CustomXWPFDocumentUtil.java +++ /dev/null @@ -1,309 +0,0 @@ -package com.casic.missiles.utils; - -import java.io.*; -import java.util.*; -import java.util.Map.Entry; - -import cn.afterturn.easypoi.entity.ImageEntity; -import org.apache.commons.lang3.StringUtils; -import org.apache.poi.ooxml.POIXMLDocument; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.util.Units; -import org.apache.poi.xwpf.usermodel.*; -import org.apache.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlToken; -import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -import org.openxmlformats.schemas.drawingml.x2006.main.CTNonVisualDrawingProps; -import org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveSize2D; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTInline; -import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; - -public class CustomXWPFDocumentUtil extends XWPFDocument { - - public CustomXWPFDocumentUtil(InputStream in) throws IOException { - super(in); - } - - public CustomXWPFDocumentUtil() { - super(); - } - - public CustomXWPFDocumentUtil(OPCPackage pkg) throws IOException { - super(pkg); - } - - /** - * 根据指定的参数值、模板,生成 word 文档 - * - * @param param 需要替换的变量 - * @param template 模板 - */ - public static XWPFDocument generateWord(Map param, String template) { - XWPFDocument doc = null; - try { - OPCPackage pack = POIXMLDocument.openPackage(template); - doc = new CustomXWPFDocumentUtil(pack); - if (param != null && param.size() > 0) { - - //处理段落 - List paragraphList = doc.getParagraphs(); - processParagraphs(paragraphList, param, doc); - - //处理表格 - Iterator it = doc.getTablesIterator(); - while (it.hasNext()) { - XWPFTable table = it.next(); - List rows = table.getRows(); - for (XWPFTableRow row : rows) { - List cells = row.getTableCells(); - for (XWPFTableCell cell : cells) { - List paragraphListTable = cell.getParagraphs(); - processParagraphs(paragraphListTable, param, doc); - } - } - } - } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - return doc; - } - - /** - * 处理段落 - * - * @param paragraphList - * @param - * @throws FileNotFoundException - * @throws InvalidFormatException - */ - public static void processParagraphs(List paragraphList, Map param, XWPFDocument doc) throws InvalidFormatException, FileNotFoundException { - if (paragraphList != null && paragraphList.size() > 0) { - for (XWPFParagraph paragraph : paragraphList) { - List runs = paragraph.getRuns(); - for (XWPFRun run : runs) { - String text = run.getText(0); - //System.out.println("text=="+text); - if (text != null) { - boolean isSetText = false; - for (Entry entry : param.entrySet()) { - String key = entry.getKey(); - if (text.indexOf(key) != -1) { - isSetText = true; - Object value = entry.getValue(); - if (value instanceof String) {//文本替换 - //System.out.println("key=="+key); - text = text.replace(key, value.toString()); - } else if (value instanceof Map) { //图片替换 - text = text.replace(text, ""); - Map pic = (Map) value; - int width = Integer.parseInt(pic.get("width").toString()); - int height = Integer.parseInt(pic.get("height").toString()); - int picType = getPictureType(pic.get("type").toString()); - String picPath = (String) pic.get("picPath"); - CTInline inline = run.getCTR().addNewDrawing().addNewInline(); - insertPicture(doc, picPath, inline, width, height); - CTDrawing drawing = run.getCTR().getDrawingArray(0); - CTGraphicalObject graphicalobject = drawing.getInlineArray(0).getGraphic(); - //拿到新插入的图片替换添加CTAnchor 设置浮动属性 删除inline属性 - CTAnchor anchor = getAnchorWithGraphic(graphicalobject, "11", - Units.toEMU(width), Units.toEMU(height),//图片大小 - Units.toEMU(0), Units.toEMU(0));//相对当前段落位置的偏移位置,左右偏移:负数向左,正数向右,上下偏移:负数向上,正数向下 - drawing.setAnchorArray(new CTAnchor[]{anchor});//添加浮动属性 - drawing.removeInline(0);//删除行内属性 - } - } - } - if (isSetText) { - run.setText(text, 0); - } - } - } - } - } - } - - /** - * 根据图片类型,取得对应的图片类型代码 - * - * @param picType - * @return int - */ - private static int getPictureType(String picType) { - int res = CustomXWPFDocumentUtil.PICTURE_TYPE_PICT; - if (picType != null) { - if (picType.equalsIgnoreCase("png")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_PNG; - } else if (picType.equalsIgnoreCase("dib")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_DIB; - } else if (picType.equalsIgnoreCase("emf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_EMF; - } else if (picType.equalsIgnoreCase("jpg") || picType.equalsIgnoreCase("jpeg")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_JPEG; - } else if (picType.equalsIgnoreCase("wmf")) { - res = CustomXWPFDocumentUtil.PICTURE_TYPE_WMF; - } - } - return res; - } - - /** - * insert Picture - * - * @param document - * @param filePath - * @param inline - * @param width - * @param height - * @throws InvalidFormatException - * @throws FileNotFoundException - */ - private static void insertPicture(XWPFDocument document, String filePath, - CTInline inline, int width, - int height) throws InvalidFormatException, - FileNotFoundException { - document.addPictureData(new FileInputStream(filePath), XWPFDocument.PICTURE_TYPE_PNG); - int id = document.getAllPictures().size() - 1; - final int EMU = 9525; - width *= EMU; - height *= EMU; - String blipId = - document.getAllPictures().get(id).getRelationId(document); - String picXml = getPicXml(blipId, width, height); - XmlToken xmlToken = null; - try { - xmlToken = XmlToken.Factory.parse(picXml); - } catch (XmlException xe) { - xe.printStackTrace(); - } - inline.set(xmlToken); - inline.setDistT(0); - inline.setDistB(0); - inline.setDistL(0); - inline.setDistR(0); - CTPositiveSize2D extent = inline.addNewExtent(); - extent.setCx(width); - extent.setCy(height); - CTNonVisualDrawingProps docPr = inline.addNewDocPr(); - docPr.setId(id); - docPr.setName("IMG_" + id); - docPr.setDescr("IMG_" + id); - } - - /** - * get the xml of the picture - * - * @param blipId - * @param width - * @param height - * @return - */ - private static String getPicXml(String blipId, int width, int height) { - String picXml = - "" + "" + - " " + - " " + - " " + " " + " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + " " + - " " + - " " + " " + - " " + - " " + " " + - " " + " " + - " " + ""; - return picXml; - } - - /** - * @param ctGraphicalObject 图片数据 - * @param deskFileName 图片描述 - * @param width 宽 - * @param height 高 - * @param leftOffset 水平偏移:负数向左,正数向右 - * @param topOffset 垂直偏移:负数向上,正数向下 - * @return CTAnchor - * @throws Exception - */ - public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, - String deskFileName, int width, int height, - int leftOffset, int topOffset) { - //浮在文字上的设置主要是anchor标签下的behindDoc属性设为0,同时添加一个的空标签。 - if (StringUtils.isBlank(deskFileName)) { - deskFileName = new Random().nextInt(999) + "";//描述不能为空,赋值一个随机数 - } - String anchorXML = - "" - + "" - + "" - + "" + leftOffset + "" - + "" - + "" - + "" + topOffset + "" + - "" - + "" - + "" - + "" - + "" - + ""; - CTDrawing drawing = null; - try { - drawing = CTDrawing.Factory.parse(anchorXML); - } catch (XmlException e) { - e.printStackTrace(); - } - CTAnchor anchor = drawing.getAnchorArray(0); - anchor.setGraphic(ctGraphicalObject); - return anchor; - } - public static void main(String[] args) throws IOException{ - Map params = new HashMap<>(); - List> dataList=new ArrayList<>(); - for (int i = 0; i < 5; i++) { - Map param = new HashMap<>(); - param.put("name", "彭于晏"+i); - param.put("sex", "男"+i); - param.put("address", "中国"+i); - ImageEntity image = new ImageEntity(); - image.setHeight(100); - image.setWidth(100); - image.setUrl("C:\\upload\\word\\"); - image.setData(PdfUtil.getImageBase64("C:\\upload\\word\\logo.jpg")); - param.put("image", image); - dataList.add(param); - } - Calendar now = Calendar.getInstance(); - params.put("dataList",dataList); - params.put("y", now.get(Calendar.YEAR)+""); - params.put("m", (now.get(Calendar.MONTH) + 1)+""); - params.put("d", now.get(Calendar.DAY_OF_MONTH)+""); - String template="C:\\upload\\word\\tem.docx"; - ByteArrayOutputStream baos = null; - try { - XWPFDocument document = generateWord(params, template); - baos = new ByteArrayOutputStream(); - document.write(baos);//临时存储流到内存 - baos.flush(); - } catch (Exception e) { - e.printStackTrace(); - }finally{ - if(baos != null){ - baos.close(); - } - } - - - } - -} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java index 91f1072..1aab5c1 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/DictCodeUtils.java @@ -15,9 +15,9 @@ /** * 字典code转换成名称 */ - public static void convertDictCodeToName(Object object) throws Exception{ + public static void convertDictCodeToName(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } @@ -27,7 +27,7 @@ throw new BusinessException(500, "缓存名不能为空"); } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); - if(Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())){ + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { continue; } String name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); @@ -39,7 +39,59 @@ if (destField == null) { throw new BusinessException(500, "字典名称字段不存在"); } - if(!destField.isAccessible()) { + if (!destField.isAccessible()) { + destField.setAccessible(true); + } + destField.set(object, name); + } + } + } + + + /** + * 多个字典code(逗号隔开),转换成名称 + */ + public static void convertDictMultiCodeToName(Object object) throws Exception { + Field[] fields = object.getClass().getDeclaredFields(); + for (Field field : fields) { + if (!field.isAccessible()) { + field.setAccessible(true); + } + if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null) { + + DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; + if (StringUtils.isEmpty(dictCodeField.cacheName())) { + throw new BusinessException(500, "缓存名不能为空"); + } + AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); + if (Objects.isNull(field.get(object)) || StringUtils.isEmpty(field.get(object).toString())) { + continue; + } + String name = ""; + //进行字典值得获取 + if (field.get(object).toString().contains(",")) { + String[] filedObjects = field.get(object).toString().split(","); + for (String filedObject : filedObjects) { + name += dictService.getDictNameByCode(dictCodeField.cacheName(), filedObject) + ","; + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } else { + name = dictService.getDictNameByCode(dictCodeField.cacheName(), field.get(object).toString()); + if (StringUtils.isEmpty(name)) { + throw new BusinessException(500, dictCodeField.message()); + } + } + String destFieldName = field.getName() + "Name"; + Field destField = object.getClass().getDeclaredField(destFieldName); + if (destField == null) { + throw new BusinessException(500, "字典名称字段不存在"); + } + if (!destField.isAccessible()) { destField.setAccessible(true); } destField.set(object, name); @@ -49,19 +101,20 @@ /** * 校验字典code是否合法 + * * @param object * @return */ - public static boolean validDictCode(Object object) throws Exception{ + public static boolean validDictCode(Object object) throws Exception { Field[] fields = object.getClass().getDeclaredFields(); - for (Field field:fields) { + for (Field field : fields) { if (!field.isAccessible()) { field.setAccessible(true); } if (field.isAnnotationPresent(DictCodeField.class) && field.get(object) != null && !field.get(object).equals("")) { DictCodeField dictCodeField = field.getAnnotationsByType(DictCodeField.class)[0]; // 判断字典code是否需要校验 - if(!dictCodeField.needValid()){ + if (!dictCodeField.needValid()) { continue; } AbstractDictService dictService = SpringContextUtil.getBean(AbstractDictService.class); diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java index 3d80a8e..3e4f58b 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/PdfUtil.java @@ -23,12 +23,12 @@ public class PdfUtil { /** - * 生成word 只支持docx + * 按照模板 填充数据生成word 只支持docx * * @param templatePath 模板文件路径 - * @param temDir 生成文件的目录 - * @param fileName 生成文件名 - * @param params 参数 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 */ public static String exportWord(String templatePath, String temDir, String fileName, Map params) { Assert.notNull(templatePath, "模板路径不能为空"); @@ -39,8 +39,9 @@ temDir = temDir + File.separator; } File dir = new File(temDir); - if (!dir.exists()) { - dir.mkdirs(); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); } String tmpPath = ""; try { @@ -51,13 +52,13 @@ fos.flush(); fos.close(); } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); } return tmpPath; } - public static String convertDocx2Pdf(String wordPath,String pdfPath) { + public static String convertDocx2Pdf(String wordPath, String pdfPath) { OutputStream os = null; InputStream is = null; try { diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java deleted file mode 100644 index 4baa893..0000000 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/PictureUtil.java +++ /dev/null @@ -1,184 +0,0 @@ -//package com.casic.missiles.utils; -// -//import cn.hutool.core.codec.Base64; -//import com.alibaba.fastjson.JSONObject; -//import com.google.common.collect.Lists; -//import org.apache.poi.xwpf.usermodel.*; -//import org.apache.xmlbeans.XmlException; -//import org.openxmlformats.schemas.drawingml.x2006.main.CTGraphicalObject; -//import org.openxmlformats.schemas.drawingml.x2006.wordprocessingDrawing.CTAnchor; -//import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDrawing; -// -//import java.io.*; -//import java.util.List; -//import java.util.Map; -//import java.util.Set; -// -//public class PictureUtil { -// public void create(String filePath, JSONObject jsonObject) { -// try { -// FileInputStream template = new FileInputStream(new File(filePath)); -// //获取docx解析对象 -// XWPFDocument document = new XWPFDocument(template); -// List tableList = Lists.newArrayList(); -// -// //解析替换表格对象 -// List tables = document.getTables(); -// for (int i = 0; i < tables.size(); i++) { -// //只处理行数大于等于2的表格,且不循环表头 -// XWPFTable table = tables.get(i); -// if (table.getRows().size() > 1) { -// //判断表格是需要替换还是需要插入,判断逻辑有$为替换,表格无$为插入 -// if (WordUtil.checkText(table.getText())) { -// List rows = table.getRows(); -// //遍历表格,并替换模板 -// eachTable(rows, jsonObject); -// } -// } -// } -// -// // workBook写入输出流 -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// document.write(baos); -// baos.flush(); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } -// /** -// * 遍历表格 -// * -// * @param rows 表格行对象 -// * @param textMap 需要替换的信息集合 -// */ -// public static void eachTable(List rows, JSONObject textMap) { -// for (XWPFTableRow row : rows) { -// List cells = row.getTableCells(); -// for (XWPFTableCell cell : cells) { -// //判断单元格是否需要替换 -// if (checkText(cell.getText())) { -// List paragraphs = cell.getParagraphs(); -// for (XWPFParagraph paragraph : paragraphs) { -// List runs = paragraph.getRuns(); -// for (XWPFRun run : runs) { -//// run.setText(changeValue(run.toString(), textMap), 0); -// //新增制证照片单独处理 -// if (run.toString().indexOf("${jpeg}") != -1 && textMap.containsKey("jpeg")){ -// addPic(run,textMap, 1188000, 1728000,0, 0); -// break; -// } -// String value = changeValue(run.toString(), textMap); -// setWrap(value, run); -// } -// } -// } -// } -// } -// } -// -// /** -// * 匹配传入信息集合与模板 -// * -// * @param value 模板需要替换的区域 -// * @param textMap 传入信息集合 -// * @return 模板需要替换区域信息集合对应值 -// */ -// public static String changeValue(String value, JSONObject textMap) { -// -// boolean flag = false; -// Set> textSets = textMap.entrySet(); -// for (Map.Entry textSet : textSets) { -// //匹配模板与替换值 格式${key} -// String key = "${" + textSet.getKey() + "}"; -// if (value.indexOf(key) != -1) { -// value = textSet.getValue() == null ? "" : ("" + textSet.getValue()); -// flag = true; -// break; -// } -// } -// //模板未匹配到区域替换为空 -// if (checkText(value)) { -// value = ""; -// } -// return value; -// } -// public static void setWrap(String value, XWPFRun run) { -// if ( value.indexOf("\n") > 0) { -// //设置换行 -// String[] text = value.split("\n"); -// for (int f = 0; f < text.length; f++) { -// if (f == 0) { -// run.setText(text[f].trim(),0); -// } else { -//// run.addCarriageReturn();//硬回车 -// // 换行 -// run.addBreak(); -// run.setText(text[f]); -// } -// } -// } else { -// run.setText((String) value,0); -// } -// } -// -// /** -// * @param ctGraphicalObject 图片数据 -// * @param deskFileName 图片描述 -// * @param width 宽 -// * @param height 高 -// * @param leftOffset 水平偏移 left -// * @param topOffset 垂直偏移 top -// * @param behind 文字上方,文字下方 -// * @return -// * @throws Exception -// */ -// public static CTAnchor getAnchorWithGraphic(CTGraphicalObject ctGraphicalObject, String deskFileName, int width, int height, int leftOffset, int topOffset, boolean behind) { -// String anchorXML ="" -// +"" -// +" " -// +" " -// +" "+ leftOffset + "" -// +" " -// +" " -// +" "+ topOffset +"" -// +" " -// +" " -// +" " -// +" " -// +" " -// +""; -// try { -// CTDrawing drawing = CTDrawing.Factory.parse(anchorXML); -// CTAnchor anchor = drawing.getAnchorArray(0); -// anchor.setGraphic(ctGraphicalObject); -// return anchor; -// } catch (XmlException e) { -// e.printStackTrace(); -// return null; -// } -// } -// -// /** -// * 新增制证照片单独处理 -// * @param run -// * @param textMap -// */ -// public static void addPic(XWPFRun run, JSONObject textMap, int width, int height, int leftOffset, int topOffset){ -// String runText = run.toString().trim(); -// byte[] zjzp = Base64.decode(textMap.getString("jpeg")); -// try(ByteArrayInputStream byteInputStream = new ByteArrayInputStream(zjzp)) { -// //1、添加图片 -// run.addPicture(byteInputStream,XWPFDocument.PICTURE_TYPE_JPEG,"照片", width, height); -// //2、获取图片 -// CTDrawing cTDrawing = run.getCTR().getDrawingArray(0); -// CTGraphicalObject cTGraphicalObject = cTDrawing.getInlineArray(0).getGraphic(); -// //3、设置属性 -// CTAnchor ctAnchor = getAnchorWithGraphic(cTGraphicalObject,"照片", width, height,leftOffset, topOffset,false); -// cTDrawing.setAnchorArray(new CTAnchor[]{ctAnchor}); -// cTDrawing.removeInline(0); -// run.setText(runText.replace("${jpeg}",""), 0); -// }catch (Exception e){ -// e.printStackTrace(); -// } -// } -//} diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java new file mode 100644 index 0000000..fb6d4cf --- /dev/null +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/StampUtils.java @@ -0,0 +1,482 @@ +package com.casic.missiles.utils; + + +import cn.afterturn.easypoi.word.WordExportUtil; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.spire.doc.*; +import com.spire.doc.documents.*; +import com.spire.doc.fields.DocPicture; +import com.spire.doc.fields.TextRange; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xwpf.usermodel.XWPFDocument; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.*; +import java.util.Map; + +/** + * @Author:zt + * @Create:2023/3/7/9:30 + * @Description:TODO Word文件操作工具类 + * @Version:1.0 + */ + +public class StampUtils { + + //关键字索引 (-1) + private final static Integer keyWordIndex = -1; + // 电子印章水平位置 + private final static float horizontal = 300f; + // 电子印章垂直位置 + private final static float vertical = -55f; + // 电子印章宽度 + private final static float stampWidth = 120; + // 电子印章高度 + private final static float stampHeight = 120; + //照片透明度设置 + private final static int alpha = 150; + + + /** + * 1、自定义位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param horizontal 电子印章水平位置 (当前文件推荐260f) + * @param vertical 电子印章垂直位置 (当前推荐455f) + * @param stampWidth 电子印章宽度(推荐120) + * @param stampHeight 电子印章高度(推荐120) + * @param bookmarkName 书签名,通过名称寻找书签文本所在位置 + * @param newBookmarkText 替换的文本新内容 + */ + public void addStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, + Float horizontal, Float vertical, Float stampWidth, + Float stampHeight, String bookmarkName, String newBookmarkText) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + +// 获取指定段落 + Section section = document.getSections().get(0); +// 获取段落总数 + int count = section.getParagraphs().getCount(); +// log.info("获取文档内容段落总数{}",count); + Paragraph paragraph = section.getParagraphs().get(0); + + // 判断是否需要替换书签位置文本内容 + if (StringUtils.isNotEmpty(bookmarkName)) { + replaceBookmarkContent(document, bookmarkName, newBookmarkText); + } + +// 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + +// 指定电子章位置 +// 水平位置 + docPicture.setHorizontalPosition(horizontal); +// 垂直位置 + docPicture.setVerticalPosition(vertical); + +// 设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + +// 设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + // 保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); +// log.info("文档添加电子印章结束,新WORD文档地址:{}",wordNewUrl); + + } + + /** + * 1、根据关键词位置添加电子印章 + * 2、替换书签名位置文本内容 bookmarkName传参为null,则不进行书签替换操作 + * + * @param wordOldUrl word文件路径 + * @param wordNewUrl 新word文件路径 + * @param stampImgUrl 电子印章图片路径 + * @param keyWord 关键字 (自定义) + * @param keyWordIndex 关键字索引 (-1) + * @param horizontal 电子印章水平位置 (260f) + * @param vertical 电子印章垂直位置 (-55f) + * @param stampWidth 电子印章宽度 (推荐120) + * @param stampHeight 电子印章高度(推荐120) + */ + public static void addKeyWordStamp(String wordOldUrl, String wordNewUrl, String stampImgUrl, String stampImgUrl1, + String keyWord, Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, Float stampHeight) { + // 加载文档 + Document document = new Document(); + document.loadFromFile(wordOldUrl); + //获取关键字位置 + TextSelection[] textSelections = document.findAllString(keyWord, false, false); + //加签章照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + //添加公司印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl); + + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //加签名照片 + if (ObjectUtils.isNotEmpty(textSelections) && StringUtils.isNotEmpty(stampImgUrl1)) { + Paragraph paragraph = textSelections[keyWordIndex > -1 ? 0 : textSelections.length - 1].getAsOneRange().getOwnerParagraph(); + // 添加电子印章 + DocPicture docPicture = paragraph.appendPicture(stampImgUrl1); + //设置图片位于文字顶层 + docPicture.setTextWrappingStyle(TextWrappingStyle.In_Front_Of_Text); + + //指定电子章位置 + //水平位置 + docPicture.setHorizontalPosition(horizontal); + //垂直位置 + docPicture.setVerticalPosition(vertical); + //设置电子章大小 + docPicture.setWidth(stampWidth); + docPicture.setHeight(stampHeight); + } + + //保存添加电子章的Word文档 + document.saveToFile(wordNewUrl); + document.dispose(); + } + + /** + * 替换书签名位置文本内容 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newBookmarkText 新文本内容 + */ + public void replaceBookmarkContent(Document document, String bookmarkName, String newBookmarkText) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //用文本内容替换原有书签位置的文本,新替换的内容与原文格式一致 + bookmarksNavigator.replaceBookmarkContent(newBookmarkText, true); + } + + /** + * 替换书签名位置文本内容为图片 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + * @param newImgUrl 图片地址 + */ + public void replaceBookmarkContentToImg(Document document, String bookmarkName, String newImgUrl) { + //定位到指定书签位置 + BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(document); + bookmarksNavigator.moveToBookmark(bookmarkName); + //添加图片,替换原有书签内容 + Paragraph para = new Paragraph(document); + para.appendPicture(newImgUrl); + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(para); + bookmarksNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 替换书签名位置文本内容为表格 + * + * @param document word文档对象 + * @param bookmarkName 书签名 + */ + public void replaceBookmarkContentToTable(Document document, String bookmarkName) { + //声明数组内容 + String[][] data = + { + new String[]{"分类", "等级", "编号"}, + new String[]{"A", "一级", "01A"}, + new String[]{"B", "二级", "02B"}, + new String[]{"C", "三级", "03C"}, + }; + + //创建表格 + Table table = new Table(document, true); + table.resetCells(4, 3); + for (int i = 0; i < data.length; i++) { + TableRow dataRow = table.getRows().get(i); + for (int j = 0; j < data[i].length; j++) { + TextRange range = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]); + range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); + range.getCharacterFormat().setFontName("楷体"); + dataRow.getRowFormat().setHorizontalAlignment(RowAlignment.Center); + dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); + } + } + + //创建TextBodyPart对象 + TextBodyPart bodyPart = new TextBodyPart(document); + bodyPart.getBodyItems().add(table); + + //定位到指定书签位置 + BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document); + bookmarkNavigator.moveToBookmark(bookmarkName); + + //使用表格替换原书签的内容 + bookmarkNavigator.replaceBookmarkContent(bodyPart); + } + + /** + * 文件转流 + * + * @param wordNewUrl + * @return + */ + public byte[] getBytesByFile(String wordNewUrl) { + try { +// byte[] bytes = Files.readAllBytes(Paths.get(wordNewUrl)); + File file = new File(wordNewUrl); + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int len = -1; + while ((len = fis.read(b)) != -1) { + bos.write(b, 0, len); + } + fis.close(); + bos.close(); + byte[] bytes = bos.toByteArray(); + System.out.println("successful..."); + return bytes; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 流转文件 + * + * @param buf 流字节数组 + * @param filePath 新文件路径 + * @param fileName 新文件名称 + */ + public void byte2File(byte[] buf, String filePath, String fileName) { + BufferedOutputStream bos = null; + FileOutputStream fos = null; + File file = null; + try { + File dir = new File(filePath); + if (!dir.exists() && dir.isDirectory()) { + dir.mkdirs(); + } + file = new File(filePath + File.separator + fileName); + fos = new FileOutputStream(file); + bos = new BufferedOutputStream(fos); + bos.write(buf); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (bos != null) { + try { + bos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (fos != null) { + try { + fos.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + /** + * word转PDF + * + * @param wordNewUrl word文件路径 + * @param pdfNewUrl 存储新PDF文件路径 + */ + public static void wordToPdf(String wordNewUrl, String pdfNewUrl) { +// 将新Word文档转换为PDF文件 + Document document = new Document(); + document.loadFromFile(wordNewUrl); + document.saveToFile(pdfNewUrl, FileFormat.PDF); + document.dispose(); +// log.info("文档转换结束,新PDF文档地址:{}",pdfNewUrl); + } + + + /** + * 图片透明背景转换 + * + * @param imgsrc + * @param alpha + * @return + */ + public static BufferedImage img_alpha(BufferedImage imgsrc, int alpha) { + try { + //创建一个包含透明度的图片,半透明效果必须要存储为png合适才行,存储为jpg,底色为黑色 + BufferedImage back = new BufferedImage(imgsrc.getWidth(), imgsrc.getHeight(), BufferedImage.TYPE_INT_ARGB); + int width = imgsrc.getWidth(); + int height = imgsrc.getHeight(); + for (int j = 0; j < height; j++) { + for (int i = 0; i < width; i++) { + int rgb = imgsrc.getRGB(i, j); + Color color = new Color(rgb); + Color newcolor = new Color(color.getRed(), color.getGreen(), color.getBlue(), alpha); + back.setRGB(i, j, newcolor.getRGB()); + } + } + return back; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //读取图片 + public static BufferedImage file2img(String imgpath) { + try { + BufferedImage bufferedImage = ImageIO.read(new File(imgpath)); + return bufferedImage; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + //保存图片,extent为格式,"jpg"、"png"等 + public static void img2file(BufferedImage img, String extent, String newfile) { + try { + ImageIO.write(img, extent, new File(newfile)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 参数 + */ + public static String exportWord(String templatePath, String temDir, String fileName, Map params) { + Assert.notNull(templatePath, "模板路径不能为空"); + Assert.notNull(temDir, "临时文件路径不能为空"); + Assert.notNull(fileName, "导出文件名不能为空"); + Assert.isTrue(fileName.endsWith(".docx"), "word导出请使用docx格式"); + if (!temDir.endsWith("/")) { + temDir = temDir + File.separator; + } + File dir = new File(temDir); + if (!dir.getParentFile().exists()) { + // 新建文件夹 + dir.getParentFile().mkdirs(); + } + String tmpPath = ""; + try { + XWPFDocument doc = WordExportUtil.exportWord07(templatePath, params); + tmpPath = temDir + fileName; + FileOutputStream fos = new FileOutputStream(tmpPath); + doc.write(fos); + fos.flush(); + fos.close(); + } catch (Exception e) { + e.printStackTrace(); + } + return tmpPath; + } + + /** + * 按照模板 填充数据生成word 只支持docx + * + * @param templatePath 模板文件路径 + * @param temDir 生成文件的目录 + * @param fileName 生成文件名 + * @param params 填充参数 + */ + public static void generateReport(String templatePath, String temDir, + String fileName, Map params, + String stampImgUrl, String stampImgUrl1, + String wordNewUrl, String keyWord, + Integer keyWordIndex, Float horizontal, + Float vertical, Float stampWidth, + Float stampHeight, String pdfNewUrl) { + //1、按照模板填充数据,并导出word + String wordOldUrl = exportWord(templatePath, temDir, fileName, params); + //2、照片背景透明设置 + //2.1签章背景透明设置 + BufferedImage bi = file2img(stampImgUrl); + BufferedImage bii = img_alpha(bi, alpha); + String newPngPath = stampImgUrl.substring(0, stampImgUrl.length() - 4) + "1.png"; + img2file(bii, "PNG", newPngPath); + //2.2签名背景透明设置 + BufferedImage b = file2img(stampImgUrl1); + BufferedImage b0 = img_alpha(b, alpha); + String newPngPath1 = stampImgUrl.substring(0, stampImgUrl1.length() - 4) + "1.png"; + img2file(b0, "PNG", newPngPath1); + + //3、添加签章和签名 + addKeyWordStamp(wordOldUrl, wordNewUrl, newPngPath, newPngPath1, keyWord, keyWordIndex, + horizontal, vertical, stampWidth, stampHeight); + // 4、将新word转化为pdf文件 + wordToPdf(wordNewUrl, pdfNewUrl); + } + + + public static void main(String[] args) { + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage bi = file2img("C:\\upload\\word\\sign.png"); + BufferedImage bii = img_alpha(bi, alpha); + //生成透明背景图片 + img2file(bii, "PNG", "C:\\upload\\word\\sign1.png"); + + //文件与BufferedImage间的转换 + //读取图片 + BufferedImage b = file2img("C:\\upload\\word\\name.png"); + BufferedImage b0 = img_alpha(b, alpha); + //生成透明背景图片 + img2file(b0, "PNG", "C:\\upload\\word\\name1.png"); + + // 目标文件地址 + String wordOldUrl = "C:\\upload\\word\\wordExport.docx"; + // 添加电子印章后文件存放地址 + String wordNewUrl = "C:\\upload\\word\\tem2.docx"; + //WORD转PDF存放位置 + String pdfNewUrl = "C:\\upload\\word\\tem2.pdf"; + //电子印章图片地址 + String stampImgUrl = "C:\\upload\\word\\sign1.png"; + //电子签名图片地址 + String stampImgUrl1 = "C:\\upload\\word\\name1.png"; + // word文档内容关键字 + String keyWord = "盖章"; + StampUtils addStampUtils = new StampUtils(); + //获取关键字位置并加盖印章并替换书签名位置文本内容 + addStampUtils.addKeyWordStamp(wordOldUrl, wordNewUrl, + stampImgUrl, stampImgUrl1, + keyWord, keyWordIndex, + horizontal, vertical, + stampWidth, stampHeight); + // 将新word转化为pdf文件 + addStampUtils.wordToPdf(wordNewUrl, pdfNewUrl); + } +} \ No newline at end of file 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..22facc4 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 @@ -6,6 +6,8 @@ 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.CertificationResponse; +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; @@ -34,4 +36,6 @@ @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); + Page certificateRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index fde0627..2b5c96f 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,6 +2,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; @@ -10,6 +13,8 @@ Long selectMaxSampleNo(); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page samplesByOderId(Page page, @Param("orderId") Long orderId, diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java deleted file mode 100644 index ed42059..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/CertificationResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.CertificationResponse; - -public interface CertificationResponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java deleted file mode 100644 index a086b38..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/customize/MesureRecordsResponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.customer.customize; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.customer.MesureRecordsResponse; - -public interface MesureRecordsResponseMapper extends BaseMapper { -} 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 3657cfd..42a0aeb 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml @@ -42,22 +42,22 @@ FROM business_certificate_report WHERE is_del = 0 - and certificate_no like concat('%',#{request.certificateNo},'%') + and certificate_report_code like concat('%',#{request.certificateNo},'%') - and certificate_class like concat('%',#{request.certificateClass},'%') + and certificate_report_category like concat('%',#{request.certificateClass},'%') and print_status = #{request.printStatus} - and bcr.id in + and id in #{id} - and bcr.id in + and id in #{id} @@ -170,4 +170,18 @@ + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index a119612..7f75b74 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -40,29 +40,28 @@ SELECT bif.id,deliverer,customerNo,customerName,delivererTel,orderId,id,interchangeCode,remark,deliverTime,bo.orderId,isUrgent,orderNo,requireOverTime,reciever FROM ( - SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS - "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" - FROM business_interchange - WHERE is_del = 0 - - AND interchange_Code=#{request.interchangeCode} - - - AND reciever=#{request.reciever} - - - - AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') - - - and id in - - #{id} - - + SELECT id,interchange_code AS "interchangeCode",remark,order_id,deliver_time AS + "deliverTime",reciever,deliverer,deliverer_tel AS "delivererTel" + FROM business_interchange + WHERE is_del = 0 + + AND interchange_Code=#{request.interchangeCode} + + + AND reciever=#{request.reciever} + + + AND #{request.startTime} DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + AND #{request.endTime} = ]]> DATE_FORMAT(deliver_time,'%Y-%m-%d') + + + and id in + + #{id} + + ) bif JOIN ( SELECT customer_no AS "customerNo",customer_name AS "customerName",id as "orderId",is_urgent AS diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index 6430f52..86f4ee4 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -32,7 +32,8 @@ + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java index 3b34857..a4d1002 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/constants/MeterDictCode.java @@ -111,7 +111,11 @@ //打印状态 String PRINT_STATUS = "printStatus"; //证书类型 - String CERTIFICATE_TYPE = "certificateType"; + String CERTIFICATE_TYPE = "certificationType"; + + //证书类别 + String CERTIFICATE_CLASS= "certificationClass"; + //证书管理-检校专业 String CALIBRATION_MAJOR= "calibrationMajor"; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java index b43617c..4581acf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/certificate/CertificateReportResponse.java @@ -1,6 +1,7 @@ package com.casic.missiles.dto.business.certificate; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentStyle; @@ -28,73 +29,56 @@ private Long id; @ApiModelProperty(value = "证书报告编号", dataType = "String") + @ExcelProperty(value = "证书号", order = 0) private String certificateReportCode; @ApiModelProperty(value = "证书报告名称", dataType = "String") + @ExcelProperty(value = "证书名称", order = 1) private String certificateReportName; @ApiModelProperty(value = "样品编号", dataType = "String") + @ExcelProperty(value = "样品编号", order = 2) private String sampleNo; + @ApiModelProperty(value = "样品名称", dataType = "String") + @ExcelProperty(value = "样品名称", order = 3) private String sampleName; + @ApiModelProperty(value = "型号", dataType = "String") + @ExcelProperty(value = "型号", order = 4) private String sampleModel; + @ApiModelProperty(value = "出厂编号", dataType = "String") + @ExcelProperty(value = "出厂编号", order = 5) private String manufacturingNo; + @ApiModelProperty(value = "委托书编号", dataType = "String") + @ExcelProperty(value = "委托书编号", order = 6) private String orderCode; @ApiModelProperty(value = "检校专业", dataType = "String") @DictCodeField(message = "检校专业不合法", cacheName = MeterDictCode.CALIBRATION_MAJOR) private String calibrationMajor; -// @ApiModelProperty(value = "出具日期", dataType = "String") -// private String issuanceDate; -// -// -// @ApiModelProperty(value = "证书有效期", dataType = "String") -// private String expirationDate; -// -// @ApiModelProperty(value = "检定结果", dataType = "String") -// private String measureResult; -// -// -// @ApiModelProperty(value = "原始记录id", dataType = "Long") -// private Long originalRecordId; -// -// -// @ApiModelProperty(value = "可打印状态", dataType = "String") -// private String printStatus; -// -// -// @ApiModelProperty(value = "打印次数", dataType = "Integer") -// private Integer printNum; - - - @ApiModelProperty(value = "检定人员", dataType = "String") + @ApiModelProperty(value = "检定人员id", dataType = "String") private String measurePersonId; @ApiModelProperty(value = "检定人员名称", dataType = "String") + @ExcelProperty(value = "检定人员", order = 8) private String measurePersonName; @ApiModelProperty(value = "审批状态", dataType = "String") @DictCodeField(message = "审批状态不合法", cacheName = MeterDictCode.APPROVAL_STATUS) private String approvalStatus; -// @ApiModelProperty(value = "备注", dataType = "String") -// private String remark; -// -// private Long createUser; -// @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间", order = 10) private String createTime; -// @ApiModelProperty(value = "检校专业名称", dataType = "String") -// private String calibrationMajorName; - @ApiModelProperty(value = "审批状态名称", dataType = "String") + @ExcelProperty(value = "审批状态", order = 9) private String approvalStatusName; /** @@ -120,6 +104,7 @@ private String measureCategory; @ApiModelProperty(value = "校验类别名称", dataType = "String") + @ExcelProperty(value = "校验类别", order = 7) private String measureCategoryName; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index d04eb14..7bee168 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -83,6 +83,9 @@ @ExcelProperty(value = "应出具证书", order = 11) private Integer requireCertifications; + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + @JSONField(serialize = false) private Integer measureType; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 725a39a..9fc56ae 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态2.5.1,终止5)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java index bb96f39..9fc5826 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListReponse.java @@ -64,6 +64,9 @@ @ExcelProperty(value = "联系方式",order = 5) private String customerPhone; + @ApiModelProperty(value = "预计送达时间", dataType = "String") + private String planDeliverTime; + @TableField(exist = false) @ApiModelProperty(value = "样品数量", dataType = "String") @ExcelProperty(value = "样品数量",order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java index d2c2ec7..d2687bf 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java @@ -31,7 +31,7 @@ @ApiModelProperty(value = "创建人", dataType = "String") private String createUser; - @ApiModelProperty(value = "原始记录单id", dataType = "Long") + @ApiModelProperty(value = "委托书id", dataType = "Long") private Long id; @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java index 06ae300..267b9a1 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/print/CertificateListResponse.java @@ -53,11 +53,11 @@ private String orderNo; @ApiModelProperty(value = "校验类别", dataType = "String") - @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_CATEGORY) + @DictCodeField(message = "校验类别不合法", cacheName = MeterDictCode.MEASURE_TYPE) private String measureType; @ApiModelProperty(value = "校验类别名称", dataType = "String") - @ExcelProperty(value = "校验类别",order = 7) + @ExcelProperty(value = "校验类别名称",order = 7) private String measureTypeName; @ApiModelProperty(value = "检定人员", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java index 69a1b4e..9f44f75 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/CertificationResponse.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +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; @@ -26,10 +28,11 @@ private String certificationName; @ApiModelProperty(value = "证书类型", dataType = "String") - private String certificationType; + @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.CERTIFICATE_CLASS) + private String certificationClass; @ApiModelProperty(value = "证书类型名称", dataType = "String") - private String certificationTypeName; + private String certificationClassName; @ApiModelProperty(value = "证书出具日期", dataType = "String") private String effectiveDate; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java new file mode 100644 index 0000000..ec13e19 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MeasureRecordsResponse.java @@ -0,0 +1,37 @@ +package com.casic.missiles.dto.customer; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + * @date 2023-02-01 + */ +@Data +@ApiModel +public class MeasureRecordsResponse { + + @ApiModelProperty(value = "委托书id", dataType = "Long") + private Long orderId; + + @ApiModelProperty(value = "委托单编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托单日期", dataType = "String") + private String orderTime; + + @ApiModelProperty(value = "委托人代码", dataType = "String") + private String customerCode; + + @ApiModelProperty(value = "委托人名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "送检日期", dataType = "String") + private String deliverTime; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java deleted file mode 100644 index f13b5d4..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/MesureRecordsResponse.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.casic.missiles.dto.customer; - -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author cz - * @date 2023-02-01 - */ -@Data -@ApiModel -public class MesureRecordsResponse { - - @ApiModelProperty(value = "委托书id", dataType = "Long") - private Long orderId; - - @ApiModelProperty(value = "委托单编号", dataType = "String") - private String orderCode; - - @ApiModelProperty(value = "委托单日期", dataType = "String") - private String orderTime; - - @ApiModelProperty(value = "委托人代码", dataType = "String") - private String customerCode; - - @ApiModelProperty(value = "委托人名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "送检人", dataType = "String") - private String deliverer; - - @ApiModelProperty(value = "送检日期", dataType = "String") - private String deliverTime; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java new file mode 100644 index 0000000..0afee82 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleIdRequest.java @@ -0,0 +1,22 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author cz + */ + +@Data +@ApiModel("检测记录查询id") +public class CustomerSampleIdRequest { + + @ApiModelProperty("样品Id") + private Long sampleId; + + @ApiModelProperty("客户id") + private Long customerId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java index 2e8657f..c0a9a99 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/CustomerSampleListResponse.java @@ -53,12 +53,12 @@ @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleSatus; + private String sampleStatus; @TableField(exist = false) @ApiModelProperty(value = "样品状态", dataType = "String") @ExcelProperty(value = "样品状态", order = 5) - private String sampleSatusName; + private String sampleStatusName; @ApiModelProperty(value = "委托方名称", dataType = "String") @ExcelProperty(value = "委托方名称", order = 6) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java new file mode 100644 index 0000000..e196dda --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/flowable/NotifyEventStatusDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.flowable; + +import lombok.Builder; +import lombok.Data; + +/** + * @author cz + */ +@Data +@Builder +public class NotifyEventStatusDTO { + + /** + * 业务表主键 + */ + private String id; + /** + * 业务表状态 + */ + private String status; + + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java index 65c19e3..0f3e84f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterOrganize.java @@ -74,7 +74,7 @@ /** * 部门/科室/工程组名称 */ - @ExcelProperty("组织编号") + @ExcelProperty("组织名称") @ApiModelProperty(value = "计量组织名称", dataType = "String", required = true) @NotBlank(message = "计量组织名称不能为空") @TableField("organize_name") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java index 54dc5cd..244e431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemSign.java @@ -84,7 +84,7 @@ * 签名用户id(一个用户一个签名,签名不使用关联表,签章暂时使用和使用人的关联表) */ @TableField("sign_user_id") - private String signUserId; + private Long signUserId; /** * 签章或签名-字典code diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java index ca20ca4..0e94b9e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/BaseApprovalServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java index 2f97cb3..fdc4bf0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessCertificatePrintServiceImpl.java @@ -3,7 +3,6 @@ import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -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; @@ -17,9 +16,10 @@ import com.casic.missiles.dto.flowable.ApprovalAgreeRequest; import com.casic.missiles.dto.flowable.ApprovalRefuseRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.business.CertificatePrintStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -42,10 +42,9 @@ */ @Service @AllArgsConstructor -public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService { +public class BusinessCertificatePrintServiceImpl extends ServiceImpl implements IBusinessCertificatePrintService, CertificatePrintStatusEnum { private final IBaseApprovalService baseApprovalService; - private final AbstractDictService dictService; private final IBaseExportService iBaseExportService; private final ApprovalOperateService approvalOperateService; @@ -86,7 +85,7 @@ } /** - * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 + * 更新工作流审批状态为拒绝,当返回值成功时,进行打印状态置为不可打印,审批状态为不通过 * * @return */ @@ -103,7 +102,7 @@ BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); //设置为不能打印 - certificateReport.setPrintStatus("2"); + certificateReport.setPrintStatus(NON_PRINTABLE); certificateReport.setApprovalStatus(ApprovalStatusEnum.FAILED); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { @@ -113,7 +112,7 @@ } /** - * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 + * 提交审批流程,修改证书审批状态为待审批,打印状态为审批中 */ @Transactional @Override @@ -128,7 +127,7 @@ //审批状态为审批中 certificateReport.setApprovalStatus(ApprovalStatusEnum.IN_APPROVED); //打印状态审批中 - certificateReport.setPrintStatus("3"); + certificateReport.setPrintStatus(IN_APPROVAL); int row = this.baseMapper.updateById(certificateReport); if (row <= 0) { throw new BusinessException(BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getCode(), BusinessExceptionEnum.AGAIN_PRINT_SUBMIT_FAILED.getMessage()); @@ -142,7 +141,7 @@ private Page handleApprovalStatus(Page page, CertificateListRequest request) throws Exception { Page approvalList = PageFactory.defaultPage(); if (request.getApprovalStatus().equals(ApprovalStatusEnum.TO_BE_APPROVED)&&CollectionUtils.isEmpty(request.getIds())) { - handlerBeApproved(approvalList, page, request); + approvalList=handlerBeApproved(approvalList, page, request); }else { approvalList=this.baseMapper.selectBatchForApprovalList(page, request, null); } 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 d03ab22..164c53a 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,17 +7,22 @@ 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.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; -import com.casic.missiles.dto.business.originRecord.OriginRecordResponse; +import com.casic.missiles.dto.customer.CertificationResponse; +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.MonitorCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessCertificateReportMapper; import com.casic.missiles.model.business.BusinessCertificateReport; @@ -26,9 +31,9 @@ import com.casic.missiles.service.business.IBusinessCertificateReportService; import com.casic.missiles.service.business.IBusinessOriginalRecordService; import com.casic.missiles.service.flowable.ApprovalOperateService; -import com.casic.missiles.utils.ConvertUtils; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; +import org.apache.commons.lang3.StringUtils; import org.flowable.engine.RuntimeService; import org.flowable.engine.TaskService; import org.flowable.engine.runtime.ProcessInstance; @@ -68,8 +73,10 @@ private RuntimeService runtimeService; @Resource private IBaseExportService iBaseExportService; + /** * 保存证书报告信息 + * * @param certificateReport * @return */ @@ -77,7 +84,7 @@ public ReturnDTO saveCertificateReport(BusinessCertificateReport certificateReport) { initCertificateReport(certificateReport); - if(this.baseMapper.insert(certificateReport)>0) + if (this.baseMapper.insert(certificateReport) > 0) return ReturnUtil.success(); throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @@ -90,9 +97,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //删除数据库记录 - if(this.baseMapper.deleteById(request.getId()) > 0){ + if (this.baseMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -101,7 +108,7 @@ @Override public ReturnDTO draftUpdate(BusinessCertificateReport certificateReport) { - if(this.baseMapper.updateById(certificateReport)>0){ + if (this.baseMapper.updateById(certificateReport) > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -109,25 +116,27 @@ /** * 批量删除 + * * @param ids * @return */ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - return baseMapper.deleteBatchIds(ids) > 0?ReturnUtil.success(): + return baseMapper.deleteBatchIds(ids) > 0 ? ReturnUtil.success() : ReturnUtil.failed("删除失败"); } /** * 证书报告详情 + * * @param id * @return */ @Override public BusinessCertificateReport certificateReportDetail(Long id) { BusinessCertificateReport certificateReport = this.baseMapper.selectById(id); - if(certificateReport.getOriginalRecordId()!=null){ + if (certificateReport.getOriginalRecordId() != null) { try { certificateReport.setBusinessOriginalRecord(originalRecordService.originalDetail(certificateReport.getOriginalRecordId())); } catch (Exception e) { @@ -139,6 +148,7 @@ /** * 提交证书报告 + * * @param request * @return */ @@ -148,10 +158,10 @@ String formId = request.getFormId(); //2.根据流程定义id启动流程实例 ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); BusinessCertificateReport certificateReport = new BusinessCertificateReport(); certificateReport.setId(request.getId()); certificateReport.setApprovalStatus(ApprovalStatusEnum.UN_DRAFT); //非草稿状态 @@ -165,6 +175,7 @@ /** * 审批状态列表查询 + * * @param page * @param request * @return @@ -182,6 +193,7 @@ /** * 驳回后更新 + * * @param certificateReport * @return */ @@ -208,13 +220,14 @@ @Override public void originExport(CertificateReportApprovalRequest request, HttpServletResponse response) { try { - //toDo: -// List certificateReportResponses = this.certificateReport(request); -// for (OriginRecordResponse originRecordResponse : originExportList) { -// //字典值转换 -// DictCodeUtils.convertDictCodeToName(originRecordResponse); -// } -// iBaseExportService.exportExcel(response, CertificateReportResponse.class, originExportList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); + //登录用户 + AuthUser user = ShiroKit.getUser(); + Assert.isFalse(Objects.isNull(user), () -> { + throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); + }); + request.setCreateUserId(user.getId()); + List reportResponseList = handleApprovalStatus(null, request); + iBaseExportService.exportExcel(response, CertificateReportResponse.class, reportResponseList, ExportEnum.CERTIFICATE_REPORT.getSheetName()); } catch (Exception e) { log.error("证书报告导出出现异常,异常信息为{}", e); } @@ -231,15 +244,15 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -251,27 +264,27 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.IN_APPROVED); } break; //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ - approvalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); + if (!CollectionUtils.isEmpty(businessKeys)) { + approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.PASSED); } break; //未通过(包括拒绝、驳回,拒绝为直接删除实例,驳回为驳回到起点),该状态维护在flowable case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ - rejectApprovalList = handleApprovalListResponse( this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { + rejectApprovalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, rejectBusinessKey), ApprovalStatusEnum.FAILED_REJECT); } //合并未通过-拒绝和未通过-驳回 approvalList.addAll(rejectApprovalList); @@ -279,7 +292,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), ApprovalStatusEnum.CANCELED); } break; @@ -288,10 +301,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { approvalList = handleAllApprovalListResponse(this.baseMapper.selectBatchForApproval(page, request, businessKeys), AllApproveList); } break; @@ -299,9 +312,26 @@ return approvalList; } - private List handleAllApprovalListResponse(List approvalList, List allApproveList) { - Map taskMap = new HashMap<>(); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + /** + * 客户、样品详情列表 + */ + @Override + public Page certificateRecordsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception { + Page page = PageFactory.defaultPage(); + Page certificateResponsePage = this.baseMapper.certificateRecordsById(page, customerSampleIdRequest); + for (CertificationResponse customerSampleListResponse : certificateResponsePage.getRecords()) { + if (!StringUtils.isEmpty(customerSampleListResponse.getCertificationClass())) { + DictCodeUtils.convertDictMultiCodeToName(customerSampleListResponse); + } + } + return certificateResponsePage; + } + + private List handleAllApprovalListResponse(List approvalList, List allApproveList) { + Map taskMap = new HashMap<>(); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -313,7 +343,7 @@ return approvalList.stream().sorted(Comparator.comparing(CertificateReportResponse::getCreateTime).reversed()).collect(Collectors.toList()); } - private List handleApprovalListResponse(List approvalList, String status){ + private List handleApprovalListResponse(List approvalList, String status) { approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 result.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, status)); @@ -324,14 +354,14 @@ private void initCertificateReport(BusinessCertificateReport certificateReport) { String prefix = MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue() - +DateUtil.format(new Date(),"YYYYMM"); + + DateUtil.format(new Date(), "YYYYMM"); Long maxNo = this.baseMapper.selectMaxCode(prefix); //生成证书编号 - String certificateReportNo =NumberGeneratorUtil.getCode( - MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(),maxNo); + String certificateReportNo = NumberGeneratorUtil.getCode( + MonitorCodeEnum.getByCode(certificateReport.getCalibrationMajor()).getValue(), maxNo); AuthUser authUser = ShiroKit.getUser(); certificateReport.setCreateUser(authUser.getId()); - certificateReport.setMeasurePersonId(authUser.getId()+""); + certificateReport.setMeasurePersonId(authUser.getId() + ""); certificateReport.setMeasureDeptId(authUser.getDeptId()); certificateReport.setCertificateReportCode(certificateReportNo); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java index c4ed5f6..5456773 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessEnvironmentRecordServiceImpl.java @@ -12,13 +12,12 @@ import com.casic.missiles.dto.business.environment.EnvironmentListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessEnvironmentRecordMapper; import com.casic.missiles.mapper.business.EnvironmentListResponseMapper; import com.casic.missiles.model.business.BusinessEnvironmentRecord; -import com.casic.missiles.model.equipment.EquipmentFixedAssets; import com.casic.missiles.service.business.IBusinessEnvironmentRecordService; import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 859010b..0d847a0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -13,6 +13,7 @@ import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessInterchangeMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; @@ -35,7 +36,7 @@ * 业务管理-设备交接单 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @@ -83,7 +84,7 @@ } /** - * 更新不对样品有任何操作 + * 更新只是交接单的变更,没有任何其他单位的变化 */ @Override public ReturnDTO updateExchange(BusinessInterchange businessInterchange) { @@ -94,6 +95,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 交接单新增,同时在样品委托书管理表中新增交接单记录id + */ @Override @Transactional public ReturnDTO addExchange(BusinessInterchange businessInterchange) { @@ -111,6 +115,9 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + /** + * 选中判断ids存在,进行其他条件的清空 + */ @Override public void exportExchange(InterchangeListRequest request, HttpServletResponse response) { try { @@ -153,7 +160,7 @@ private void populationExchange(BusinessInterchange businessInterchange) { Long maxNo = this.baseMapper.selectMaxExchangeNo(); - String orderNo = NumberGeneratorUtil.getContactNo("jjdh", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.INTER_CHANGE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessInterchange.setCreateUser(authUser.getId()); businessInterchange.setInterchangeCode(orderNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java index 585a207..955cc7a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessLabExecutiveInfoServiceImpl.java @@ -13,19 +13,18 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.*; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.HandOutPropertyEnum; -import com.casic.missiles.enums.MeasureStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.HandOutPropertyEnum; +import com.casic.missiles.enums.business.MeasureStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.*; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; -import com.casic.missiles.model.business.BusinessCertificateReport; -import com.casic.missiles.model.business.BusinessLabExecutiveInfo; -import com.casic.missiles.model.business.BusinessLabExecutiveOperateLog; -import com.casic.missiles.model.business.BusinessLabExecutiveTemplateInfo; +import com.casic.missiles.model.business.*; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.service.business.IBusinessLabExecutiveInfoService; import com.casic.missiles.service.business.IBusinessLabExecutiveTemplateInfoService; @@ -71,6 +70,8 @@ private AbstractDictService dictService; @Autowired private MeterStaffMapper staffMapper; + @Autowired + private BusinessOrderMapper orderMapper; @Override public Page handOutListPage(Page page, SampleHandOutListRequest handOutListRequest) throws Exception{ @@ -377,7 +378,9 @@ if(CollectionUtils.isEmpty(unExecutiveInfos)){ //更新样品状态为检测完 orderSampleRelationMapper.updateByOrderIdAndSampleId(pre.getOrderId(), pre.getSampleId(), SampleStatusEnum.MEASURE_COMPLETE); - // TODO: 2023/2/17 委托书中所有样品检测完更新委托书接收状态为检测完成,需求待定 + + //委托书中所有样品检测完更新委托书接收状态为检测完成,未检测完的数量为0则表示全部检完 + updateOrderStatusComplete(pre); //将检测记录加入到实验室检测模板(仅全部为检测完成的才加入到模板,包含终止的不会加入) List labList = new ArrayList<>(); @@ -407,9 +410,27 @@ throw new BusinessException(BusinessExceptionEnum.COMPLETE_SAMPLE_NOT_EXIST); } + @Transactional + public void updateOrderStatusComplete(SampleOperateRequest pre) { + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("order_id", pre.getOrderId()); + List statusList = new ArrayList<>(); + statusList.add(SampleStatusEnum.TO_RECEIVE); + statusList.add(SampleStatusEnum.TO_HANDOUT); + statusList.add(SampleStatusEnum.IN_MEASURE); + wrapper1.in("sample_status", statusList); + //同一事务中可查到更新后的数量 + if(orderSampleRelationMapper.selectCount(wrapper1) == 0){ + BusinessOrder businessOrder = new BusinessOrder(); + businessOrder.setId(pre.getOrderId()); + businessOrder.setStatus(OrderStatusEnum.COMPLETE); + orderMapper.updateById(businessOrder); + } + } + private BusinessLabExecutiveTemplateInfo getBusinessLabExecutiveTemplateInfo(Long maxNo, int i, BusinessLabExecutiveInfo lab) { BusinessLabExecutiveTemplateInfo templateInfo = new BusinessLabExecutiveTemplateInfo(); - String templateCode = NumberGeneratorUtil.getContactNo("sysjcmb", maxNo + i); + String templateCode = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.LAB_EXECUTIVE_TEMPLATE_PREFIX, maxNo + i); templateInfo.setTemplateCode(templateCode); // templateInfo.setSampleTypeId(); templateInfo.setSampleId(lab.getSampleId()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index f5c6f61..1d63554 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -14,6 +14,10 @@ import com.casic.missiles.dto.business.order.OrderListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; +import com.casic.missiles.enums.business.OrderStatusEnum; +import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; @@ -35,7 +39,6 @@ import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -45,12 +48,12 @@ * 业务管理-委托书 服务实现类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ @Service @AllArgsConstructor -public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService { +public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService,PrefixCodeEnum, OrderStatusEnum,SampleStatusEnum, MeasureTypeEnum { private final BusinessOrderListReponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; @@ -90,8 +93,10 @@ List customerSampleList = new ArrayList<>(); for (BusinessOrderSampleRelation orderSample : orderSampleList) { CustomerSampleInfo customerSampleInfo = customerSampleService.sampleDetail(orderSample.getSampleId()); - customerSampleInfo.setIsExistSample("1"); - customerSampleList.add(customerSampleInfo); + if (null != customerSampleInfo) { + customerSampleInfo.setIsExistSample("1"); + customerSampleList.add(customerSampleInfo); + } } businessOrder.setCustomerSampleInfoList(customerSampleList); return businessOrder; @@ -202,7 +207,13 @@ @Override public ReturnDTO updateStatusById(OrderCancelRequest orderCancelRequest, String status) { int updateFlag = doUpdateStatusById(orderCancelRequest.getId(), status); - String dealType = "委托书" + ((status.equals("2")) ? "接收" : "退回"); + String dealType = ""; + if (status.equals(ALREADY_RECEIVED)) { + dealType = "委托书接收" ; + doUpdateSampleStatus(orderCancelRequest.getId(),TO_RECEIVE); + } else { + dealType = "委托书退回"; + } int addDealRecordFlag = addDealRecord(orderCancelRequest, dealType); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -216,7 +227,7 @@ @Override @Transactional public ReturnDTO cancelOrder(OrderCancelRequest orderCancelRequest) { - int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), "3"); + int updateFlag = this.doUpdateStatusById(orderCancelRequest.getId(), ALREADY_CANCEL); int addDealRecordFlag = addDealRecord(orderCancelRequest, "委托书取消"); if (updateFlag > 0 && addDealRecordFlag > 0) { return ReturnUtil.success(); @@ -250,6 +261,7 @@ return dealRecordMapper.insert(businessDealRecord); } + /** * 强调正在做状态更新 */ @@ -280,12 +292,12 @@ private void initOrderInfo(BusinessOrder businessOrder) { Long maxNo = this.baseMapper.selectMaxCOrderNo(); - String orderNo = NumberGeneratorUtil.getContactNo("wtsc", maxNo); + String orderNo = NumberGeneratorUtil.getContactNo(ORDER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); businessOrder.setCreateUser(authUser.getId()); businessOrder.setUpdateUser(authUser.getId()); businessOrder.setOrderCode(orderNo); - businessOrder.setStatus("1"); + businessOrder.setStatus(NOT_RECEIVED); } /** @@ -320,10 +332,23 @@ sampleStatusPopulation.setOrderId(orderId); sampleStatusPopulation.setSampleId(sampleId); sampleStatusPopulation.setMeasureContent(measureContent); - sampleStatusPopulation.setMeasureType("1"); + sampleStatusPopulation.setMeasureType(INSIDE_MEASURE); return this.sampleRelationMapper.insert(sampleStatusPopulation); } + /** + * 强调正在做状态更新 + */ + private int doUpdateSampleStatus(Long orderId, String sampleStatus) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", orderId); + BusinessOrderSampleRelation orderSample = new BusinessOrderSampleRelation(); + orderSample.setId(orderId); + orderSample.setSampleStatus(sampleStatus); + return this.sampleRelationMapper.update(orderSample, queryWrapper); + } + + private void doSampleListPopulation(BusinessOrder businessOrder) { businessOrder.getCustomerSampleInfoList().forEach( customerSampleInfo -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java index 1e35b7a..1c602b8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java @@ -131,7 +131,7 @@ @Override public ReturnDTO updateOriginal(BusinessOriginalRecord businessOriginalRecord) { - if (this.baseMapper.insert(businessOriginalRecord) > 0) { + if (this.baseMapper.updateById(businessOriginalRecord) > 0) { //加入技术文件绑定 if (ObjectUtil.isNotEmpty(businessOriginalRecord.getFileList()) && businessOriginalRecord.getFileList().size() > 0) { originalRecordFileRelationService.saveBatch(businessOriginalRecord.getId(), businessOriginalRecord.getFileList()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java index 07c88e9..c9c1902 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java @@ -1,5 +1,6 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.date.DateUtil; import com.alibaba.druid.sql.repository.SchemaResolveVisitor; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -14,6 +15,7 @@ import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.MeasureTypeEnum; import com.casic.missiles.enums.sample.CurrentSegmentEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; @@ -29,6 +31,7 @@ import org.springframework.util.ObjectUtils; import javax.servlet.http.HttpServletResponse; +import java.util.Date; import java.util.List; import java.util.Objects; import java.util.Optional; @@ -39,7 +42,7 @@ @Service @Slf4j @AllArgsConstructor -public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService { +public class IBusinessDispatchServiceImpl extends ServiceImpl implements IBusinessDispatchService, SampleStatusEnum, CurrentSegmentEnum, MeasureTypeEnum { private final BusinessOrderSampleRelationMapper orderSampleRelationMapper; private final BusinessCertificateReportMapper certificateReportMapper; @@ -73,20 +76,20 @@ Long sampleId = dispatchVO.getSampleId(); String sampleStatus = dispatchVO.getSampleStatus(); //先过滤超期状态下的外检外包 - if (!StringUtils.isEmpty(request.getSampleStatus()) && SampleStatusEnum.BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { + if (!StringUtils.isEmpty(request.getSampleStatus()) && BE_OVERDUE.equals(request.getSampleStatus()) && notSelfMeasure(dispatchVO)) { return; } switch (sampleStatus) { //待分发状态,当前检定环节:待分配,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.TO_HANDOUT: + case TO_HANDOUT: //检测中状态,当前检定环节:具体实验室,已出具证书:查询证书报告表,证书总数:具体实验室 - case SampleStatusEnum.IN_MEASURE: + case IN_MEASURE: //检测完状态,当前检定环节:完成,已出具证书:无,出具证书总数:无 - case SampleStatusEnum.MEASURE_COMPLETE: + case MEASURE_COMPLETE: doDispatchVoPopulation(dispatchVO, sampleId, orderId); return; //超期样品(即检测超期,未在应检完时间检完),当前检定环节:待分配/具体实验室,已出具证书:查询证书报告表(具体实验室),出具证书总数:具体实验室 - case SampleStatusEnum.BE_OVERDUE: + case BE_OVERDUE: HandOutLabExecutiveDTO overLabExecutiveDTO = getHandOutLabExecutiveDTO(orderId, sampleId); Long deptId = Optional.of(overLabExecutiveDTO.getMeasureDeptId()).orElse(null); dispatchVO.setAlreadyCertifications(getAlreadyCertificateNum(dispatchVO, deptId)); @@ -126,12 +129,14 @@ /** - * 状态更新 + * 根据sampleId,orderId,进行状态更新 */ @Override + @Transactional public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { + boolean beforeEventFlag = beforeStatusChange(deviceStatusChangeDTO); Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFlag > 0) { + if (updateFlag > 0 && beforeEventFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -181,8 +186,9 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("sample_id", deviceStatusChangeDTO.getSampleId()); queryWrapper.eq("order_id", deviceStatusChangeDTO.getOrderId()); +// queryWrapper.ne("order_id", deviceStatusChangeDTO.getOrderId()); BusinessLabExecutiveInfo businessLabExecutiveInfo = new BusinessLabExecutiveInfo(); - businessLabExecutiveInfo.setMeasureStatus(deviceStatusChangeDTO.getStatus()); +// businessLabExecutiveInfo.setMeasureStatus(); businessLabExecutiveInfo.setRemark(deviceStatusChangeDTO.getReason()); labExecutiveInfoMapper.update(businessLabExecutiveInfo, queryWrapper); } @@ -214,6 +220,9 @@ return handOutLabExecutiveDTOOptional.orElse(null); } + /** + * 构建证书的查询条件 + */ private QueryWrapper getCertificateReportWrapper(DeviceDispatchVO dispatchVO, Long deptId) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("order_id", dispatchVO.getOrderId()); @@ -230,7 +239,8 @@ queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); if (terminateFlag) { - queryWrapper.eq("sample_status", "2").or().eq("sample_status", "3").or().eq("sample_status", "4"); + //若是终止,需要对应待分发、检测中、检测完三个状态的变更 + queryWrapper.eq("sample_status", TO_HANDOUT).or().eq("sample_status", IN_MEASURE).or().eq("sample_status", MEASURE_COMPLETE); } BusinessOrderSampleRelation businessOrderSampleRelation = new BusinessOrderSampleRelation(); businessOrderSampleRelation.setSampleStatus(statusChangeDTO.getStatus()); @@ -238,12 +248,12 @@ } /** - * 判断不是自检 + * 判断不是自检,即外包和外检,进行环节设定 */ private boolean notSelfMeasure(DeviceDispatchVO dispatchVO) { if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType())) { - if (MeasureStatusEnum.TO_ALLOCATE.equals(String.valueOf(dispatchVO.getMeasureType())) || MeasureStatusEnum.TO_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { - String currentSegment = MeasureStatusEnum.TO_ALLOCATE.equals(dispatchVO.getMeasureType()) ? CurrentSegmentEnum.OUT_UNDERTAKE : CurrentSegmentEnum.OUT_MESASUR; + if (OTHERS_UNDERTAKE.equals(String.valueOf(dispatchVO.getMeasureType())) || OUTSIDE_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { + String currentSegment = OTHERS_UNDERTAKE.equals(dispatchVO.getMeasureType()) ? OUT_UNDERTAKE : OUT_MESASUR; dispatchVO.setCurrentSegment(currentSegment); return true; } @@ -251,6 +261,9 @@ return false; } + /** + * 其他条件的置为空 + */ private void initDeviceDispatchDTOEmpty(DeviceDispatchDTO request) { request.setSampleName(null); request.setSampleNo(null); @@ -264,18 +277,38 @@ } /** - * 判断样品是完成或接收状态,直接显示即可 + * 判断样品是完成或接收状态,进行当前阶段环节的设置 */ private Boolean checkSampleFinishStatus(DeviceDispatchVO dispatchVO) { - if (SampleStatusEnum.TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_INCOME); + if (TO_RECEIVE.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_INCOME); return true; } - if (SampleStatusEnum.TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { - dispatchVO.setCurrentSegment(CurrentSegmentEnum.TO_ALLOCATE); + if (TO_HANDOUT.equals(dispatchVO.getSampleStatus())) { + dispatchVO.setCurrentSegment(TO_ALLOCATE); return true; } return false; } + private boolean beforeStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(TO_INCOME)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + List orderSampleRelationList = this.orderSampleRelationMapper.selectList(queryWrapper); + Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); + if (orderSampleRelationOptional.isPresent()) { + BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); + if (businessOrderSampleRelation.getSampleStatus().equals(TO_ALLOCATE)) { + BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); + businessOrderSample.setRealDeliverTime(DateUtil.format(new Date(), "yyyy-MM-dd")); + int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); + return updateFlag > 0 ? true : false; + } + } + } + return true; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java index 4f06678..e2fea21 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerAdviceMapper; import com.casic.missiles.mapper.customer.CustomerMapper; @@ -34,7 +35,7 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerAdviceServiceImpl implements CustomerAdviceService { +public class CustomerAdviceServiceImpl implements CustomerAdviceService,PrefixCodeEnum { private final CustomerAdviceMapper customerAdviceMapper; private final IBaseExportService iBaseExportService; @@ -122,7 +123,7 @@ private void initCustomerAdviceInfo(CustomerAdviceInfo customerAdviceInfo) { Long maxNo = customerAdviceMapper.selectMaxAdviceNo(); - String adviceNo = NumberGeneratorUtil.getContactNo("khjy", maxNo); + String adviceNo = NumberGeneratorUtil.getContactNo(CUSTOMER_ADVICE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerAdviceInfo.setCreateUser(authUser.getId()); customerAdviceInfo.setUpdateUser(authUser.getId()); 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 4889e55..f9747dd 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 @@ -10,18 +10,19 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.sample.CertificationExpireStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; import com.casic.missiles.mapper.customer.CustomerMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerSampleListResponseMapper; import com.casic.missiles.mapper.customer.CustomerSampleMapper; -import com.casic.missiles.mapper.customer.customize.MesureRecordsResponseMapper; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -42,13 +43,11 @@ @Service @AllArgsConstructor -public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService { +public class CustomerSampleServiceImpl extends ServiceImpl implements CustomerSampleService, CertificationExpireStatusEnum,PrefixCodeEnum{ private final CustomerSampleListResponseMapper customerSampleListResponseMapper; private final CustomerMapper customerMapper; private final IBaseExportService iBaseExportService; - private final CertificationResponseMapper certificationResponseMapper; - private final MesureRecordsResponseMapper mesureResponseMapper; private final BusinessOrderSampleRelationMapper sampleRelationMapper; @Override @@ -58,14 +57,14 @@ customerSamplePage.getRecords() .forEach(customerSample -> { BusinessOrderSampleRelation businessOrderSampleRelation = this.getSampleStatusById(customerSample.getId()); + customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); - customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); } }); for (CustomerSampleListResponse customerSampleListResponse : customerSamplePage.getRecords()) { - if (!StringUtils.isEmpty(customerSampleListResponse.getSampleSatus())) { + if (!StringUtils.isEmpty(customerSampleListResponse.getSampleStatus())) { DictCodeUtils.convertDictCodeToName(customerSampleListResponse); } } @@ -106,14 +105,13 @@ public CustomerSampleInfo sampleDetail(Long id) { CustomerSampleInfo customerSampleInfo = this.baseMapper.selectById(id); if (!ObjectUtils.isEmpty(customerSampleInfo)) { - doCustomerSampleInfoPopulation(customerSampleInfo); + doPopulateCustomerSampleInfo(customerSampleInfo); } return customerSampleInfo; } /** * 只导出样品列表信息 - * */ @Override public void sampleExport(CustomerSampleListRequest request, HttpServletResponse response) { @@ -135,7 +133,7 @@ BusinessOrderSampleRelation businessOrderSampleRelation = businessOrderMap.get(customerSample.getId()); if (!ObjectUtils.isEmpty(businessOrderSampleRelation)) { customerSample.setOrderId(businessOrderSampleRelation.getOrderId()); - customerSample.setSampleSatus(businessOrderSampleRelation.getSampleStatus()); + customerSample.setSampleStatus(businessOrderSampleRelation.getSampleStatus()); customerSample.setCertificationStatus(calculateCertificationStatus(customerSample.getValidDeadline())); } } @@ -159,26 +157,16 @@ } @Override - public Page measureRecordsBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page measureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); + public Page measureRecordsById(CustomerSampleIdRequest customerSampleIdRequest) { + Page page = PageFactory.defaultPage(); + Page measureRecordsResponsePage = this.baseMapper.measureRecordsById(page, customerSampleIdRequest); return measureRecordsResponsePage; } - @Override - public Page certificationBySampleId(Long id) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("sample_id", id); - Page certificateResponsePage = certificationResponseMapper.selectPage(page, wrapper); - return certificateResponsePage; - } @Override - public Page samplesByOderId(Page page,Long orderId, String sampleNo, String sampleName) { - return this.baseMapper.samplesByOderId(page,orderId,sampleNo,sampleName); + public Page samplesByOderId(Page page, Long orderId, String sampleNo, String sampleName) { + return this.baseMapper.samplesByOderId(page, orderId, sampleNo, sampleName); } private BusinessOrderSampleRelation getSampleStatusById(Long sampleId) { @@ -190,9 +178,12 @@ return orderSampleOptional.isPresent() ? orderSampleOptional.get() : null; } + /** + * 初始化样品状态 + */ private void initSample(CustomerSampleInfo customerSampleInfo) { Long maxNo = this.baseMapper.selectMaxSampleNo(); - String sampleNo = NumberGeneratorUtil.getContactNo("khyp", maxNo); + String sampleNo = NumberGeneratorUtil.getContactNo(SAMPLE_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setSampleNo(sampleNo); customerSampleInfo.setCreateUser(authUser.getId()); @@ -202,7 +193,6 @@ private QueryWrapper listParamWrapper(CustomerSampleListRequest request) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.select("id,sample_no,sample_name,sample_model,manufacturing_no,customer_id,measure_period,measure_last_time,remark,valid_deadline"); queryWrapper.like(StringUtils.isNotBlank(request.getSampleNo()), "sample_no", request.getSampleNo()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleName()), "sample_name", request.getSampleName()); queryWrapper.like(StringUtils.isNotBlank(request.getSampleBelong()), "sample_belong", request.getSampleBelong()); @@ -210,9 +200,10 @@ queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); if (!StringUtils.isEmpty(request.getOvertimeStatus())) { - queryWrapper.apply(request.getOvertimeStatus().equals("1"), + queryWrapper.apply("1".equals(request.getOvertimeStatus()), + "sysdate() > DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); - queryWrapper.apply(request.getOvertimeStatus().equals("0"), + queryWrapper.apply("0".equals(request.getOvertimeStatus()), "sysdate() <= DATE_FORMAT(valid_deadline,'%Y-%m-%d')"); } queryWrapper.apply(StringUtils.isNotBlank(request.getStartTime()), @@ -224,24 +215,30 @@ return queryWrapper; } + /** + * 通过证书到期时间进行到期状态的计算 + */ private String calculateCertificationStatus(String validDeadline) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if (StringUtils.isEmpty(validDeadline)) { - return "0"; + return NORMAL; } - if (validDeadline.compareTo(sdf.format(new Date())) > 0) { - return "2"; + if (validDeadline.compareTo(sdf.format(new Date())) < 0) { + return ALREADY_EXPIRE; } Calendar date = Calendar.getInstance(); date.setTime(new Date()); date.add(Calendar.DAY_OF_MONTH, -30); - if (validDeadline.compareTo(sdf.format(date.getTime())) > 0) { - return "1"; + if (validDeadline.compareTo(sdf.format(date.getTime())) < 0) { + return ALMOST_EXPIRE; } - return "0"; + return NORMAL; } - private void doCustomerSampleInfoPopulation(CustomerSampleInfo customerSampleInfo) { + /** + * 对样品列表的进行供应商联系方式的填充 + */ + private void doPopulateCustomerSampleInfo(CustomerSampleInfo customerSampleInfo) { CustomerInfo customerInfo = customerMapper.selectById(customerSampleInfo.getCustomerId()); if (!ObjectUtils.isEmpty(customerInfo)) { customerSampleInfo.setPhone(customerInfo.getPhone()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java index 32d4dee..f6e1f8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java @@ -11,13 +11,12 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerMapper; import com.casic.missiles.mapper.customer.CustomerUserMapper; -import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerInfoResponseMapper; import com.casic.missiles.mapper.customer.customize.SampleRecordsResponseMapper; import com.casic.missiles.model.customer.CustomerInfo; @@ -38,11 +37,10 @@ @Service @Slf4j @AllArgsConstructor -public class CustomerServiceImpl extends ServiceImpl implements CustomerService { +public class CustomerServiceImpl extends ServiceImpl implements CustomerService,PrefixCodeEnum { private final SampleRecordsResponseMapper sampleRecordsResponseMapper; private final CustomerUserMapper customerUserMapper; - private final CertificationResponseMapper certificationMapper; private final IBaseExportService iBaseExportService; private final CustomerInfoResponseMapper customerInfoResponseMapper; @@ -126,18 +124,9 @@ return contractRecordsResponsePage; } - @Override//暂定不做 - public Page mesureRecordsByCustomerId(Long customerId) { - Page measureRecordsResponsePage = PageFactory.defaultPage(); - return measureRecordsResponsePage; - } - @Override public Page certificationByCustomerId(Long customerId) { - Page page = PageFactory.defaultPage(); - QueryWrapper wrapper = new QueryWrapper() - .eq("customer_id", customerId); - return certificationMapper.selectPage(page, wrapper); + return null; } @Override @@ -163,8 +152,7 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerNo()), "customer_no", request.getCustomerNo()); queryWrapper.like(StringUtils.isNotBlank(request.getCustomerName()), "customer_name", request.getCustomerName()); - queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "bussiness_size", request.getBusinessSize()); - queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); + queryWrapper.like(StringUtils.isNotBlank(request.getBusinessSize()), "business_size", request.getBusinessSize()); queryWrapper.like(StringUtils.isNotBlank(request.getGrade()), "grade", request.getGrade()); queryWrapper.eq("is_del", 0); return queryWrapper; @@ -172,7 +160,7 @@ private void initCustomerInfo(CustomerInfo customerInfo) { Long maxNo = this.baseMapper.selectMaxCustomerNo(); - String customerNo = NumberGeneratorUtil.getContactNo("khxx", maxNo); + String customerNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CUSTOMER_PREFIX, maxNo); AuthUser authUser = ShiroKit.getUser(); customerInfo.setCreateUser(authUser.getId()); customerInfo.setUpdateUser(authUser.getId()); @@ -196,7 +184,7 @@ boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { customerUserInfo.setCustomerId(id); - String customerNo = NumberGeneratorUtil.getContactNo("khyh", maxUserNo++); + String customerNo = NumberGeneratorUtil.getContactNo(CUSTOMER_USER_PREFIX, maxUserNo++); customerUserInfo.setUserNo(customerNo); int userAddNum = customerUserMapper.insert(customerUserInfo); if (userAddNum <= 0) { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java index d81a488..77e4caf 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyAcceptanceCheckServiceImpl.java @@ -13,9 +13,10 @@ import com.casic.missiles.dto.equipment.AcceptanceCheckRequest; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentAcceptanceCheckMapper; @@ -183,7 +184,7 @@ public ReturnDTO addAcceptanceCheck(EquipmentApply equipmentApply) { Long maxNo = equipmentApplyMapper.selectMaxNo(); // 生成编号 - String applyNo = NumberGeneratorUtil.getContactNo("sbjxbyysd", maxNo); + String applyNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.REPAIR_MAINTAIN_PREFIX, maxNo); equipmentApply.setApplyNo(applyNo); // 草稿箱状态 equipmentApply.setApprovalStatus(ApprovalStatusEnum.DRAFT); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java index 38ad4e9..d468012 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentApplyServiceImpl.java @@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.base.service.IBaseExportService; -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.IdDTO; @@ -20,6 +19,9 @@ import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyProcessEnum; +import com.casic.missiles.enums.equipment.EquipmentApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentApplyEquipmentMapper; import com.casic.missiles.mapper.equipment.EquipmentApplyMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java index 7c4fdbc..e6a1ff8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentCheckInfoServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.equipment.CheckInfoRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoFileMapper; import com.casic.missiles.mapper.equipment.EquipmentCheckInfoMapper; @@ -79,7 +80,7 @@ @Transactional public ReturnDTO addCheckInfo(EquipmentCheckInfo equipmentCheckInfo) { long maxNo = equipmentCheckInfoMapper.selectMaxNo(); - String checkNo = NumberGeneratorUtil.getContactNo("jc", maxNo); + String checkNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.CHECK_PREFIX, maxNo); equipmentCheckInfo.setCheckNo(checkNo); if(equipmentCheckInfoMapper.insert(equipmentCheckInfo) > 0){ Long id = equipmentCheckInfo.getId(); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java index ba6a600..7ff9c16 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.equipment; -import cn.hutool.core.io.unit.DataUnit; import com.alibaba.excel.util.DateUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -13,7 +12,8 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.FixedAssetRequest; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentFixedAssetFileMapper; @@ -131,7 +131,7 @@ validManufacturingNo(meterFixedAssets); //生成资产编号 Long maxNo = meterFixedAssetsMapper.selectMaxNo(); - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); meterFixedAssets.setAssetNo(asset_no); meterFixedAssets.setEquipmentNo(asset_no); meterFixedAssetsMapper.insert(meterFixedAssets); @@ -164,7 +164,7 @@ //需要根据出厂编号判重 validManufacturingNo(item); //生成资产编号 - String asset_no = NumberGeneratorUtil.getContactNo("gdzc", maxNo); + String asset_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FIXED_ASSETS_PREFIX, maxNo); item.setAssetNo(asset_no); item.setEquipmentNo(asset_no); maxNo++; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java index 3e63a5a..2b29aa7 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardApplyServiceImpl.java @@ -18,6 +18,8 @@ import com.casic.missiles.dto.equipment.StandardEquipmentApplyRequest; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.equipment.StandardApplyTypeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardApplyEquipmentMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java index caa63a7..afa6905 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStandardEquipmentServiceImpl.java @@ -10,9 +10,9 @@ import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.StandardEquipmentRequest; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentFileMapper; import com.casic.missiles.mapper.equipment.EquipmentStandardEquipmentMapper; -import com.casic.missiles.model.equipment.EquipmentApply; import com.casic.missiles.model.equipment.EquipmentStandardEquipment; import com.casic.missiles.model.equipment.EquipmentStandardEquipmentFile; import com.casic.missiles.model.page.PageQuery; @@ -74,7 +74,7 @@ public ReturnDTO add(EquipmentStandardEquipment meterStandardEquipment) { //生成资产编号 Long maxNo = meterStandardEquipmentMapper.selectMaxNo(); - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); meterStandardEquipment.setStandardNo(standard_no); meterStandardEquipmentMapper.insert(meterStandardEquipment); // 插入文件列表 @@ -129,7 +129,7 @@ } DictCodeUtils.validDictCode(item); //生成资产编号 - String standard_no = NumberGeneratorUtil.getContactNo("bzzz", maxNo); + String standard_no = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STANDARD_EQUIPMENT, maxNo); item.setStandardNo(standard_no); maxNo++; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java index 481cf64..b749b2e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentStateManageServiceImpl.java @@ -2,7 +2,6 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.service.IBaseExportService; import com.casic.missiles.dto.IdDTO; @@ -12,7 +11,7 @@ import com.casic.missiles.dto.equipment.StateManageResponse; import com.casic.missiles.dto.flowable.AllApproveDTO; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java index 5dd6f8e..e566e01 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentWorkbenchServiceImpl.java @@ -9,7 +9,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.equipment.EquipmentWorkbenchResponse; -import com.casic.missiles.enums.ApplyFromIdEnum; +import com.casic.missiles.enums.system.ApplyFromIdEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.MeterFixedAssetsMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java index f3b9c4f..485287a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/flowable/ApprovalOperateServiceImpl.java @@ -6,7 +6,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.flowable.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.modular.system.dao.DeptMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java index ce076b0..c20feb0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterCertificateServiceImpl.java @@ -4,7 +4,6 @@ import cn.hutool.core.lang.Assert; import cn.hutool.core.util.ObjectUtil; import com.alibaba.excel.util.DateUtils; -import com.alibaba.excel.util.StringUtils; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -22,18 +21,18 @@ import com.casic.missiles.dto.meter.MeterCertificateImport; import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.enums.*; +import com.casic.missiles.enums.meter.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterRoleTypeEnum; +import com.casic.missiles.enums.workbench.MessageTypeEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.meter.MeterCertificateExpireMessageMapper; import com.casic.missiles.mapper.meter.MeterCertificateMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.sys.UserInfoMapper; import com.casic.missiles.mapper.workbench.WorkbenchRemindMessageMapper; import com.casic.missiles.model.meter.MeterCertificate; -import com.casic.missiles.model.meter.MeterCertificateExpireMessage; import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.model.system.UserInfo; import com.casic.missiles.model.workbench.WorkbenchRemindMessage; -import com.casic.missiles.service.meter.MeterCertificateExpireMessageService; import com.casic.missiles.service.meter.MeterCertificateService; import com.casic.missiles.service.workbench.IWorkbenchRemindMessageService; import com.casic.missiles.utils.ExportUtils; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java index ecf1fc3..e84f4d6 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java @@ -17,10 +17,11 @@ import com.casic.missiles.dto.meter.FileApprovalListResponse; import com.casic.missiles.dto.meter.FileListRequest; import com.casic.missiles.dto.meter.FileSaveResponse; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.EffectiveStatusEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.EffectiveStatusEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterFileMapper; import com.casic.missiles.model.meter.MeterFile; @@ -92,7 +93,7 @@ public ReturnDTO saveFile(MeterFile file) { //生成文件编号 Long maxNo = meterFileMapper.selectMaxFileNo(); - String fileNo = NumberGeneratorUtil.getContactNo("jlwj", maxNo); + String fileNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.FILE_PREFIX, maxNo); file.setFileNo(fileNo); file.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 Assert.isFalse(Objects.isNull(ShiroKit.getUser()), () -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java index 000e58a..467f03d 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterOrganizeServiceImpl.java @@ -10,7 +10,8 @@ import com.casic.missiles.dto.meter.ParentDeptRequest; import com.casic.missiles.dto.meter.ParentDeptResponse; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDeptTypeEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDeptTypeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterOrganizeMapper; import com.casic.missiles.model.meter.MeterOrganize; @@ -101,7 +102,7 @@ public int addOrganize(Dept dept) { //生成组织编号 Long maxNo = organizeMapper.selectMaxOrganizeNo(); - String organizeNo = NumberGeneratorUtil.getContactNo("jlzz", maxNo); + String organizeNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.ORGANIZE_PREFIX, maxNo); MeterOrganize meterOrganize = new MeterOrganize(); meterOrganize.setDeptId(dept.getId()); meterOrganize.setPDeptId(dept.getPid()); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java index 7c3f9cf..643ba4c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java @@ -13,7 +13,8 @@ import com.casic.missiles.dto.meter.MeterPriceRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterPriceCategoryMapper; import com.casic.missiles.mapper.meter.MeterPriceItemMapper; @@ -83,7 +84,7 @@ MeterPriceItem item = new MeterPriceItem(null,priceCategory.getId(),meterPrice.getItemName()); if(categoryFlag>0 && meterPriceItemMapper.insert(item)>0){ Long maxNo = meterPriceMapper.getMaxNo(); - String priceNo = NumberGeneratorUtil.getContactNo("jg", maxNo); + String priceNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.PRICE_PREFIX, maxNo); meterPrice.setPriceNo(priceNo); meterPrice.setPriceType(priceCategory.getId().toString()); meterPrice.setPriceItem(item.getId().toString()); @@ -178,7 +179,7 @@ // 校验通过 AtomicLong maxNo = new AtomicLong(meterPriceMapper.getMaxNo()); list.forEach(bean->{ - String priceNo = NumberGeneratorUtil.getContactNo("jg", maxNo.get()); + String priceNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.PRICE_PREFIX, maxNo.get()); maxNo.set(Long.parseLong(priceNo.substring(2))); Long id= IdWorker.getId(); bean.setId(id); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java index 7c4a1a1..f79bb8a 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterStaffServiceImpl.java @@ -15,7 +15,8 @@ import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterCertificateMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; @@ -42,7 +43,6 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; -import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.concurrent.atomic.AtomicBoolean; @@ -139,7 +139,7 @@ } long maxNo = meterStaffMapper.getMaxNo(); meterStaff.setIsDel(0); - String staffNo = NumberGeneratorUtil.getContactNo("jlry", maxNo); + String staffNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STAFF_PREFIX, maxNo); meterStaff.setStaffNo(staffNo); if(meterStaffMapper.insert(meterStaff)>0){ Long id = meterStaff.getId(); @@ -263,7 +263,7 @@ AtomicLong maxNo = new AtomicLong(meterStaffMapper.getMaxNo()); list.forEach(bean->{ // 生成编号 - String staffNo = NumberGeneratorUtil.getContactNo("jlry", maxNo.get()); + String staffNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.STAFF_PREFIX, maxNo.get()); maxNo.set(Long.parseLong(staffNo.substring(4))); bean.setStaffNo(staffNo); // 获取id diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java index 535581f..0beebb1 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTraceSupplierServiceImpl.java @@ -14,9 +14,10 @@ import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.meter.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterTraceSupplierMapper; import com.casic.missiles.model.meter.MeterTraceSupplier; @@ -92,7 +93,7 @@ public ReturnDTO saveTraceSupplier(MeterTraceSupplier traceSupplier) { //生成编号 Long maxNo = traceSupplierMapper.selectMaxSupplierNo(); - String supplierNo = NumberGeneratorUtil.getContactNo("sygf", maxNo); + String supplierNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.TRACE_SUPPLIER_PREFIX, maxNo); traceSupplier.setSupplierNo(supplierNo); traceSupplier.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 Assert.isFalse(Objects.isNull(ShiroKit.getUser()), () -> { @@ -106,7 +107,7 @@ //存储溯源供方人员信息 boolean saveBatchFlag = true; List traceSupplierPersonList = traceSupplier.getTraceSupplierPersonList(); - if(!CollectionUtils.isEmpty(traceSupplierPersonList)){ + if (!CollectionUtils.isEmpty(traceSupplierPersonList)) { traceSupplierPersonList.forEach(person -> { person.setSupplierId(traceSupplier.getId()); }); @@ -119,7 +120,7 @@ //存储溯源供方标准装置信息 boolean saveBatchFlag2 = true; List standardEquipmentIds = traceSupplier.getStandardEquipmentIds(); - if(!CollectionUtils.isEmpty(standardEquipmentIds)){ + if (!CollectionUtils.isEmpty(standardEquipmentIds)) { List equipmentList = new ArrayList<>(); standardEquipmentIds.forEach(id -> { MeterTraceSupplierStandardEquipment equipment = new MeterTraceSupplierStandardEquipment(); @@ -154,7 +155,7 @@ traceSupplierPersonService.remove(wrapper); boolean saveFlag = true; //溯源供方人员可能为空 - if(!CollectionUtils.isEmpty(traceSupplierPersonList)){ + if (!CollectionUtils.isEmpty(traceSupplierPersonList)) { //再增加 traceSupplierPersonList.forEach(person -> { person.setSupplierId(traceSupplier.getId()); @@ -169,7 +170,7 @@ meterTraceSupplierStandardEquipmentService.remove(wrapper1); boolean saveBatchFlag2 = true; List standardEquipmentIds = traceSupplier.getStandardEquipmentIds(); - if(!CollectionUtils.isEmpty(standardEquipmentIds)){ + if (!CollectionUtils.isEmpty(standardEquipmentIds)) { List equipmentList = new ArrayList<>(); standardEquipmentIds.forEach(id -> { MeterTraceSupplierStandardEquipment equipment = new MeterTraceSupplierStandardEquipment(); @@ -195,10 +196,10 @@ String formId = request.getFormId(); ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId()); - if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) { return returnDTO; } - ProcessInstance processInstance = (ProcessInstance)returnDTO.getData(); + ProcessInstance processInstance = (ProcessInstance) returnDTO.getData(); MeterTraceSupplier traceSupplier = new MeterTraceSupplier(); traceSupplier.setId(request.getId()); @@ -225,9 +226,9 @@ @Override public ReturnDTO approvalDelete(ApprovalDeleteRequest request) { ReturnDTO returnDTO = approvalOperateService.delete(request); - if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){ + if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) { //本地删除 - if(traceSupplierMapper.deleteById(request.getId()) > 0){ + if (traceSupplierMapper.deleteById(request.getId()) > 0) { return ReturnUtil.success(); } } @@ -267,16 +268,16 @@ //待审批,该状态维护在flowable中 case ApprovalStatusEnum.TO_BE_APPROVED: List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(toBeApprovedList)){ + if (!CollectionUtils.isEmpty(toBeApprovedList)) { businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).distinct().collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.TO_BE_APPROVED); //DTO根据业务主键补全taskId approvalList.forEach(approval -> { toBeApprovedList.forEach(toBeApprovedDTO -> { - if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){ + if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) { approval.setTaskId(toBeApprovedDTO.getTaskId()); //补全可选决策项 approval.setDecisionItem(toBeApprovedDTO.getDecisionItem()); @@ -288,7 +289,7 @@ //审批中,该状态维护在flowable中 case ApprovalStatusEnum.IN_APPROVED: businessKeys = baseApprovalService.getInApprovedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.IN_APPROVED); } @@ -296,7 +297,7 @@ //已通过,该状态维护在flowable case ApprovalStatusEnum.PASSED: businessKeys = baseApprovalService.getPassedList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.PASSED); } @@ -305,12 +306,12 @@ case ApprovalStatusEnum.FAILED: businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝 List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回 - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.FAILED); } List rejectApprovalList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(rejectBusinessKey)){ + if (!CollectionUtils.isEmpty(rejectBusinessKey)) { List rejectList = traceSupplierMapper.selectBatchForApproval(page, request, rejectBusinessKey); rejectApprovalList = handleApprovalListResponse(approvalList, rejectList, ApprovalStatusEnum.FAILED_REJECT); } @@ -320,7 +321,7 @@ //已取消(直接删除实例),该状态维护在flowable case ApprovalStatusEnum.CANCELED: businessKeys = baseApprovalService.getCanceledList(request.getFormId()); - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.CANCELED); } @@ -330,10 +331,10 @@ //普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消) case ApprovalStatusEnum.ALL: List AllApproveList = baseApprovalService.getAllList(request.getFormId()); - if(!CollectionUtils.isEmpty(AllApproveList)){ + if (!CollectionUtils.isEmpty(AllApproveList)) { businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList()); } - if(!CollectionUtils.isEmpty(businessKeys)){ + if (!CollectionUtils.isEmpty(businessKeys)) { list = traceSupplierMapper.selectBatchForApproval(page, request, businessKeys); approvalList = handleAllApprovalListResponse(approvalList, list, AllApproveList); } @@ -343,9 +344,11 @@ } private List handleAllApprovalListResponse(List approvalList, List list, List allApproveList) { - Map taskMap = new HashMap<>(); + Map taskMap = new HashMap<>(); approvalList = ConvertUtils.sourceToTarget(list, TraceSupplierApprovalListResponse.class); - allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());}); + allApproveList.forEach(allApprove -> { + taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus()); + }); //状态补全 approvalList.forEach(approval -> { approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId())))); @@ -369,7 +372,7 @@ @Override public ReturnDTO deleteTraceSupplier(Long id) { - if(traceSupplierMapper.deleteById(id) > 0){ + if (traceSupplierMapper.deleteById(id) > 0) { return ReturnUtil.success(); } return ReturnUtil.failed("刪除失败"); @@ -377,7 +380,7 @@ @Override public ReturnDTO deleteBatchTraceSupplier(List ids) { - if(traceSupplierMapper.deleteBatchIds(ids) > 0){ + if (traceSupplierMapper.deleteBatchIds(ids) > 0) { return ReturnUtil.success(); } return ReturnUtil.failed("删除失败"); @@ -400,6 +403,7 @@ wrapper.eq("id", 12344321); return wrapper; } + wrapper.like(StringUtils.isNotBlank(request.getSupplierNo()), "supplier_no", request.getSupplierNo()); wrapper.like(StringUtils.isNotBlank(request.getSupplierName()), "supplier_name", request.getSupplierName()); wrapper.like(StringUtils.isNotBlank(request.getBusinessContent()), "business_content", request.getBusinessContent()); @@ -409,7 +413,7 @@ return wrapper; } - private List handleApprovalListResponse(List approvalList, List list, String status){ + private List handleApprovalListResponse(List approvalList, List list, String status) { approvalList = ConvertUtils.sourceToTarget(list, TraceSupplierApprovalListResponse.class); approvalList.stream().forEach(result -> { //审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1 diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java index 0fd9403..bec30c8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainLogServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.meter.TrainLogListRequest; import com.casic.missiles.dto.meter.TrainLogUpdateRequest; import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterTrainLogMapper; import com.casic.missiles.mapper.meter.MeterTrainStaffMapper; @@ -58,7 +59,7 @@ public ReturnDTO addTrainLog(TrainLogAddRequest request) { //生成编号 Long maxNo = trainLogMapper.selectMaxTrainLogNo(); - String logNo = NumberGeneratorUtil.getContactNo("pxjl", maxNo); + String logNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.TRAIN_LOG_PREFIX, maxNo); MeterTrainLog meterTrainLog = ConvertUtils.sourceToTarget(request, MeterTrainLog.class); meterTrainLog.setLogNo(logNo); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java index e4f4dcb..e3d0750 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterTrainPlanServiceImpl.java @@ -14,9 +14,10 @@ import com.casic.missiles.dto.flowable.ApprovalDeleteRequest; import com.casic.missiles.dto.flowable.ToBeApprovedDTO; import com.casic.missiles.dto.meter.*; -import com.casic.missiles.enums.ApprovalStatusEnum; +import com.casic.missiles.enums.PrefixCodeEnum; +import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.enums.BusinessExceptionEnum; -import com.casic.missiles.enums.MeterDictEnum; +import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.meter.MeterTrainPlanMapper; @@ -98,7 +99,7 @@ public ReturnDTO saveTrainPlan(MeterTrainPlan trainPlan) { //生成编号 Long maxNo = trainPlanMapper.selectMaxTrainPlanNo(); - String planNo = NumberGeneratorUtil.getContactNo("pxjh", maxNo); + String planNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.TRAIN_PLAN_PREFIX, maxNo); trainPlan.setPlanNo(planNo); trainPlan.setApprovalStatus(ApprovalStatusEnum.DRAFT); //草稿箱状态 Assert.isFalse(Objects.isNull(ShiroKit.getUser()), () -> { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterWorkbenchServiceImpl.java index 663d024..921ae71 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterWorkbenchServiceImpl.java @@ -10,8 +10,8 @@ import com.casic.missiles.dto.meter.MeterStaffRequest; import com.casic.missiles.dto.meter.MeterWorkbenchRequest; import com.casic.missiles.dto.meter.MeterWorkbenchResponse; -import com.casic.missiles.enums.ExamResultEnum; -import com.casic.missiles.enums.MeterRoleTypeEnum; +import com.casic.missiles.enums.meter.ExamResultEnum; +import com.casic.missiles.enums.meter.MeterRoleTypeEnum; import com.casic.missiles.mapper.meter.MeterCertificateMapper; import com.casic.missiles.mapper.meter.MeterStaffMapper; import com.casic.missiles.mapper.meter.MeterTrainPlanMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java index 163c77f..5d76a52 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/FlowDefDefServiceImpl.java @@ -12,7 +12,7 @@ import com.casic.missiles.dto.system.FlowListRequest; import com.casic.missiles.dto.system.FlowProcDefDTO; import com.casic.missiles.dto.system.FlowUpdateStateRequest; -import com.casic.missiles.enums.AssigneeTypeEnum; +import com.casic.missiles.enums.system.AssigneeTypeEnum; import com.casic.missiles.mapper.system.FlowDefMapper; import com.casic.missiles.mapper.system.SystemFlowFormMapper; import com.casic.missiles.model.system.SystemFlowForm; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java index dcebbbd..f59ae28 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java @@ -10,6 +10,7 @@ import com.casic.missiles.dto.system.NoticeAddRequest; import com.casic.missiles.dto.system.NoticeListRequest; import com.casic.missiles.dto.system.NoticeReadRequest; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.system.SystemNoticeMapper; import com.casic.missiles.mapper.system.SystemNoticeUserRelationMapper; import com.casic.missiles.model.system.SystemNotice; @@ -56,7 +57,7 @@ public ReturnDTO addNotice(NoticeAddRequest noticeAddRequest) { //生成编号 Long maxNo = noticeMapper.selectMaxNoticeNo(); - String noticeNo = NumberGeneratorUtil.getContactNo("tzgg", maxNo); + String noticeNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.NOTICE_PREFIX, maxNo); noticeAddRequest.setNoticeNo(noticeNo); SystemNotice systemNotice = ConvertUtils.sourceToTarget(noticeAddRequest, SystemNotice.class); int insertFlag = noticeMapper.insert(systemNotice); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemSignServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemSignServiceImpl.java index dffd29b..3bc7d81 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemSignServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemSignServiceImpl.java @@ -8,6 +8,7 @@ import com.casic.missiles.dto.system.SignAddRequest; import com.casic.missiles.dto.system.SignDetailResponse; import com.casic.missiles.dto.system.SignListRequest; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.system.SystemSignMapper; import com.casic.missiles.mapper.system.SystemSignUserRelationMapper; import com.casic.missiles.model.system.SystemSign; @@ -72,17 +73,16 @@ public ReturnDTO addSign(SignAddRequest request) { //生成编号 Long maxNo = signMapper.selectMaxSignNo(); - String signNo = NumberGeneratorUtil.getContactNo("qmqz", maxNo); //签名签章编号一起 + String signNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.SIGN_PREFIX, maxNo); //签名签章编号一起 SystemSign systemSign = ConvertUtils.sourceToTarget(request, SystemSign.class); systemSign.setSignNo(signNo); int insertFlag = signMapper.insert(systemSign); //关联表 - //签名无可使用人,签章有可使用人 - boolean saveBatch = true; - if("2".equals(request.getSignType())){ - List userRelationList = getUserRelations(request.getUserIdList(), systemSign.getId()); - saveBatch = userRelationService.saveBatch(userRelationList); - } + //签名/签章可使用人 + List userIdList = request.getUserIdList(); + userIdList.add(request.getSignUserId()); //添加签名本人 + List userRelationList = getUserRelations(userIdList, systemSign.getId()); + boolean saveBatch = userRelationService.saveBatch(userRelationList); if(insertFlag > 0 && saveBatch){ return ReturnUtil.success(); } @@ -94,16 +94,15 @@ public ReturnDTO updateSign(SystemSign systemSign) { int updateFlag = signMapper.updateById(systemSign); //关联表 - //签章有可使用人 - int deleteFlag = 1; - boolean saveBatch = true; - if("2".equals(systemSign.getSignType())){ - Map columnMap = new HashMap<>(); - columnMap.put("sign_id", systemSign.getId()); - deleteFlag = userRelationMapper.deleteByMap(columnMap); - List userRelationList = getUserRelations(systemSign.getUserIdList(), systemSign.getId()); - saveBatch = userRelationService.saveBatch(userRelationList); - } + //签名/签章可使用人 + Map columnMap = new HashMap<>(); + columnMap.put("sign_id", systemSign.getId()); + int deleteFlag = userRelationMapper.deleteByMap(columnMap); + List userIdList = systemSign.getUserIdList(); + userIdList.add(systemSign.getSignUserId()); + List userRelationList = getUserRelations(systemSign.getUserIdList(), systemSign.getId()); + boolean saveBatch = userRelationService.saveBatch(userRelationList); + if(updateFlag > 0 && deleteFlag > 0 && saveBatch){ return ReturnUtil.success(); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemTemplateServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemTemplateServiceImpl.java index 8ac39b3..4d6aa00 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemTemplateServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemTemplateServiceImpl.java @@ -8,6 +8,7 @@ import com.casic.missiles.dto.system.TemplateAddRequest; import com.casic.missiles.dto.system.TemplateDetailResponse; import com.casic.missiles.dto.system.TemplateListRequest; +import com.casic.missiles.enums.PrefixCodeEnum; import com.casic.missiles.mapper.system.SystemTemplateMapper; import com.casic.missiles.mapper.system.SystemTemplateUserRelationMapper; import com.casic.missiles.model.system.SystemTemplate; @@ -66,7 +67,7 @@ public ReturnDTO addTemplate(TemplateAddRequest request) { //生成编号 Long maxNo = templateMapper.selectMaxTemplateNo(); - String templateNo = NumberGeneratorUtil.getContactNo("jlbg", maxNo); //原始记录模板证书报告模板编号一起 + String templateNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.TEMPLATE_PREFIX, maxNo); //原始记录模板证书报告模板编号一起 SystemTemplate systemTemplate = ConvertUtils.sourceToTarget(request, SystemTemplate.class); systemTemplate.setTemplateNo(templateNo); int insertFlag = templateMapper.insert(systemTemplate); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchRemindMessageServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchRemindMessageServiceImpl.java index 58ce952..6f6d1b2 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchRemindMessageServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/workbench/WorkbenchRemindMessageServiceImpl.java @@ -61,9 +61,9 @@ wrapper.eq(StringUtils.isNotBlank(request.getMessageType()), "message_type", request.getMessageType()); wrapper.eq("status", 0); wrapper.apply(StringUtils.isNotBlank(request.getStartTime()), - "{0} <= DATE_FORMAT(train_time,'%Y-%m-%d')", request.getStartTime().split(" ")[0]); + "{0} <= DATE_FORMAT(create_time,'%Y-%m-%d')", request.getStartTime().split(" ")[0]); wrapper.apply(StringUtils.isNotBlank(request.getEndTime()), - "{0} >= DATE_FORMAT(train_time,'%Y-%m-%d')", request.getEndTime().split(" ")[0]); + "{0} >= DATE_FORMAT(create_time,'%Y-%m-%d')", request.getEndTime().split(" ")[0]); wrapper.orderByDesc("create_time"); return wrapper; } 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 89787de..8e91c42 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 @@ -6,7 +6,8 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.business.certificate.CertificateReportApprovalRequest; import com.casic.missiles.dto.business.certificate.CertificateReportResponse; -import com.casic.missiles.dto.business.originRecord.OriginRecordRequest; +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.model.business.BusinessCertificateReport; @@ -41,4 +42,6 @@ void originExport(CertificateReportApprovalRequest request, HttpServletResponse response); + Page certificateRecordsById(CustomerSampleIdRequest customerSampleIdRequest) throws Exception; + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessInterchangeService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessInterchangeService.java index 54e2757..50ca6e2 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessInterchangeService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessInterchangeService.java @@ -14,7 +14,7 @@ * 业务管理-设备交接单 服务类 *

* - * @author wangpeng + * @author cz * @since 2023-02-02 */ public interface IBusinessInterchangeService extends IService { diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/customer/CustomerSampleService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/customer/CustomerSampleService.java index 8b97619..fd4be1d 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/customer/CustomerSampleService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/customer/CustomerSampleService.java @@ -3,13 +3,17 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.customer.CertificationResponse; -import com.casic.missiles.dto.customer.MesureRecordsResponse; +import com.casic.missiles.dto.customer.MeasureRecordsResponse; +import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.model.customer.CustomerSampleInfo; import javax.servlet.http.HttpServletResponse; +/** + * @author cz + */ public interface CustomerSampleService { Page listPage(Page page, CustomerSampleListRequest request) throws Exception; @@ -24,9 +28,9 @@ ReturnDTO deleteSample(Long id); - Page measureRecordsBySampleId(Long id); + Page measureRecordsById(CustomerSampleIdRequest customerSampleIdRequest); - Page certificationBySampleId(Long id); + /** * 根据 委托书id、样品编号、样品名称查询样品信息(分页) diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/customer/CustomerService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/customer/CustomerService.java index 5d096e2..3bcb80c 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/customer/CustomerService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/customer/CustomerService.java @@ -4,7 +4,6 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; -import com.casic.missiles.dto.customer.MesureRecordsResponse; import com.casic.missiles.model.customer.CustomerInfo; import javax.servlet.http.HttpServletResponse; @@ -29,8 +28,6 @@ Page contractRecordsByCustomerId(Long customerId); - Page mesureRecordsByCustomerId(Long customerId); - Page certificationByCustomerId(Long customerId); void customerExport(CustomerListRequest request, HttpServletResponse response);